Показать сообщение отдельно
  #51 (permalink)  
Старый 28.09.2017, 17:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dan922
Да и вот вы говорите регион не указывать.
А зачем? Пусть, кратко, в базе имеются города и регионы

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 будут, а всего же набора, поэтому запрос нужно делать также один, но с вложенными запросами для получения всех названий для выбранного в списках, и этот запрос будет сложнее.

Сообщение от Dan922
$q = mysql_query('SELECT `name` FROM `city` WHERE `city_id` = ' . $id);
возвращает почему-то 0
Этот запрос не может вернуть 0, он может вернуть либо ошибку, либо NULL, либо ресурс в случае успеха. А количество записей можно получить из ресурса функцией, я писал, смотрите.

Сообщение от Dan922
Судя по всему концепция , предложенная вами, не совсем подходит для моего ресурса.
Чушь полнейшая, вы просто ничего не понимаете.

Сообщение от Dan922
Почему он ругается на строку где
if(mysql_num_rows($q))

Значит запрос вернул ошибку, сделайте вывод ее, узнаете причину:

$q = mysql_query('SELECT `name` FROM `city` WHERE `city_id` = ' . $id) or die (mysql_error());

Сообщение от Dan922
сколько вам дать денег чтобы вы написали мне эти пару запросов?
Я уже сказал, я не буду писать только запросы, когда все в целом полная лажа. Обращайтесь в раздел Работа, вполне возможно что кто-то другой напишет.
Ответить с цитированием