а сколько эта работа будет стоить?
|
Цитата:
Но просто написать запросы и все, это не работа: 1) сервер должен обязательно проверять данные и возвращать ошибки, а значит на клиенте нужен нормальный код принимающий ошибки и обрабатывающий их 2) клиентский код ни к черту не годится, его тоже нужно привести к нормальному виду 3) Х - не известно есть ли еще какие ляпы в коде в целом, которые по ходу придется править Так что решать не мне - если по минимум и только запросы написать, а остальное трава не расти, то в раздел Работа. Вполне возможно что кто-то и напишет, я такое делать не буду. Если все сделать по уму, тогда можно, пишите в личку, давайте контакты для связи. А уже там и весь код представить, и пояснить что-то, и т.д., тогда и цена может обрисоваться. |
Да я просто загнал все названия в value и пошло он к едрене фене.
Я два дня убил на то чтобы решить этот вопрос. А теперь еще и деньги платить? Не. Обойдемся без таблицы в БД. |
Цитата:
Цитата:
|
Мне эти ваши проверки-нафиг не упали.
Надо чтобы просто инфа приходила на почту. Для этого надо только: а) По полученным id достать название города б) Вставить это в почту. А то, что вы тут мне пытались рассказать-не надо! Спасибо конечно, но у меня не такой огромный бизнес, чтобы кто-то полез мне ломать сайт. Даже если и полезет. Одна заявка в четыре дня. Я подниму бекапы. Все! |
Цитата:
Цитата:
|
сколько вам дать денег чтобы вы написали мне эти пару запросов?
|
Почему он ругается на строку где
if(mysql_num_rows($q)) |
Да и вот вы говорите регион не указывать.
По вашему запросу. $q = mysql_query('SELECT `name` FROM `city` WHERE `city_id` = ' . $id); возвращает почему-то 0 Что б вы понимали. Я не против даже минимальную стоимость заплатить за эти запросы. Только вот вижу, что они не работают. Че делать? |
Судя по всему концепция , предложенная вами, не совсем подходит для моего ресурса.
Получается, что если следовать вашим подсказкам то в $id ничего не приходит. Соответственно в $q ничего не записывается. |
Цитата:
id_city, название города, id_region 1, А, 1 2, Б, 1 3, В, 2 4, Г, 1 5, Д, 1 .... Когда клиент запрашивает горда региона 1 для получения всех городов его, то в этом случае в условии запроса нужно искать по ID указанного региона: ..... WHERE id_region = 1 И запрос вернет записи с городами А, Б, Г, Д. А выбор пользователя города, например Г, это найти один конкретный город, а значит искать нужно по ID города: ..... WHERE id_city = 4 И запрос вернет одну запись и именно этого города, так как городов с таким же ID в базе нет, и он принадлежит региону 1. Собственно ваши связанные списки в форме не для красоты, а для выбора, а выбор будет регион->район->город->улица. И в почтовом отправлении не только название города нужно вставить, а у остального выбранного ID будут, а всего же набора, поэтому запрос нужно делать также один, но с вложенными запросами для получения всех названий для выбранного в списках, и этот запрос будет сложнее. Цитата:
Цитата:
Цитата:
Значит запрос вернул ошибку, сделайте вывод ее, узнаете причину: $q = mysql_query('SELECT `name` FROM `city` WHERE `city_id` = ' . $id) or die (mysql_error()); Цитата:
|
Блин, подождите.
Он возвращал мне ресурс ранее. И я даже написал функцию типа $num = mysql_num_rows($regs);для количества записей. А нужную запись то как достать? |
Цитата:
|
mysql_num_rows() expects parameter 1 to be resource, boolean Выскочила такая ошибка, что булев тип у меня там. Проверил на ошибки вот результат: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 |
С булианам разобрался, сменил тип.
Но что-то с запросами. |
$sql = 'SELECT `name` FROM `city` WHERE `city_id` = ' . $id; echo $sql . '<br>'; $q = mysql_query($sql) or die (__FILE__ .'/'. __LINE__ .' '. mysql_error()); |
SELECT `name` FROM `city` WHERE `city_id` = 52 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 mysql_num_rows() expects parameter 1 to be resource, null given |
Цитата:
|
В общем ничего нормально вывести не удалось так вы написали.
Максимально выводится Resource:#8 Что в ресурсе-не понятно. Потому что ни через while ни через вашу конструкцию данные не выходят из него. Например пробовал вариант как было в примере : $result = mysql_query("SELECT * FROM `products` WHERE companyid = $companyid;"); mysql_query возвращает ресурс это указатель на выборку данных из БД в памяти потом по нему нужно пройти while($row = mysql_fetch_assoc($result)){ $product = array(); $product["pid"] = $row["pid"]; $product["productname"] = $row["productname"]; } Все работает по другим таблицас, я даже таблицу создал такую же как в этом примере. А с вашей конструкцией он перестает работать после вывода ресурса. Ошибок в запросе нет. Проверка показала, что в name[0] кроме 0 нет ничего. Уже все варианты перебрал. После каждой операции писал проверку, чтобы видеть на каком этапе косяк. И вот получается, что по запросу ресурс выводит, но вот что в нем-не понятно. Работал по учебникам, по примерам в них. Прочитал полностью обработку полученных ресурсов, написал как в примере. И ни фига! |
Я не знаю что вы там делаете и что за проблемы, но я вам своих конструкций не мог написать. Все что я писал, это стандартные функции для работы с базой MySQL взятые из руководства РНР.
Я лишь оперировал "условной переменной", которую назвал $id, ибо говоря о том, что данные извне сервер обязан проверять, и самое простое в данном контексте, это привести их к Integer. Какое имя в вашем случае после всех операций получит ваша переменная я не знаю, поэтому и "условная". Вы ее добросовестно копируете себе, а таковой у вас и близко нет, делаете запрос и естественно получаете ошибку. Вы чего хотите, чтобы я и далее писал примеры, а вы их копировали и задавали вопросы "почем"? Смысла нет - открывайте и читайте руководство, по каждым функциям есть примеры. Забудьте о своем Ajax и просто отдельным сркиптом обращайтесь к своей базе за конкретными записями. Как поймете что к чему, несложно будет понятое перенести и в реальный скрипт. |
Я не в укор вам .
Привел к integer. Разницы нет как называть переменную, если в нее все равно "падает" ресурс. Можно и $result. |
Все, супер у меня получилось!
Разобрался, понял где была ошибка. Не нужно было приводить к integer. Т.к. эта переменная изначально была определена как integer. $result = mysql_query("SELECT `name` FROM `city` WHERE `city_id` = $city"); if(mysql_num_rows($result)) { $namer = mysql_fetch_row($result); $namer=$namer[0]; } else { } Спасибо за помощь! |
Цитата:
echo (int)25; //как была 25 объявлена как integer, так ею и останется //а вот строковое представление 25 станет числом 25 $str = '25'; echo gettype($str) . '<br>'; $str = (int)'25'; echo gettype($str); //а вот так вашу базу как орех грецкий //вы уверены, что форма вам уже числа шлет, думаете что город под ID 230 запрашивают //а на самом деле ваши "дыры прощупывают" $val = '230 union select "1", login, passwd ...'; //а вот так не прокатит $val = (int)$val; echo $val; Вы не разобравшись в своих багах несете ахинею. Но это не беда, гораздо хуже, что вы не проверяете и не фильтруете входные данные. |
Да я поставил фильтра.
Все нормально. |
Цитата:
|
Часовой пояс GMT +3, время: 08:15. |