Цитата:
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 и просто отдельным сркиптом обращайтесь к своей базе за конкретными записями. Как поймете что к чему, несложно будет понятое перенести и в реальный скрипт. |
Часовой пояс GMT +3, время: 00:05. |