Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
сколько вам дать денег чтобы вы написали мне эти пару запросов?
Я уже сказал, я не буду писать только запросы, когда все в целом полная лажа. Обращайтесь в раздел Работа, вполне возможно что кто-то другой напишет.
Ответить с цитированием
  #52 (permalink)  
Старый 28.09.2017, 17:42
Аспирант
Отправить личное сообщение для Dan922 Посмотреть профиль Найти все сообщения от Dan922
 
Регистрация: 03.09.2017
Сообщений: 41

Блин, подождите.
Он возвращал мне ресурс ранее.
И я даже написал функцию типа
$num = mysql_num_rows($regs);
для количества записей.
А нужную запись то как достать?
Ответить с цитированием
  #53 (permalink)  
Старый 28.09.2017, 17:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dan922
А нужную запись то как достать?
Все написано тут https://javascript.ru/forum/misc/707...tml#post465826
Ответить с цитированием
  #54 (permalink)  
Старый 28.09.2017, 18:03
Аспирант
Отправить личное сообщение для Dan922 Посмотреть профиль Найти все сообщения от Dan922
 
Регистрация: 03.09.2017
Сообщений: 41

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

Последний раз редактировалось Dan922, 28.09.2017 в 18:05.
Ответить с цитированием
  #55 (permalink)  
Старый 28.09.2017, 18:18
Аспирант
Отправить личное сообщение для Dan922 Посмотреть профиль Найти все сообщения от Dan922
 
Регистрация: 03.09.2017
Сообщений: 41

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

$sql = 'SELECT `name` FROM `city` WHERE `city_id` = ' . $id;

echo $sql . '<br>'; 

$q = mysql_query($sql) or die (__FILE__ .'/'. __LINE__ .' '. mysql_error());
Ответить с цитированием
  #57 (permalink)  
Старый 28.09.2017, 19:25
Аспирант
Отправить личное сообщение для Dan922 Посмотреть профиль Найти все сообщения от Dan922
 
Регистрация: 03.09.2017
Сообщений: 41

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
Ответить с цитированием
  #58 (permalink)  
Старый 28.09.2017, 23:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dan922
SELECT `name` FROM `city` WHERE `city_id` =
И после этого стоит спрашивать почему You have an error in your SQL syntax .... и т.д.?
Ответить с цитированием
  #59 (permalink)  
Старый 29.09.2017, 22:33
Аспирант
Отправить личное сообщение для Dan922 Посмотреть профиль Найти все сообщения от Dan922
 
Регистрация: 03.09.2017
Сообщений: 41

В общем ничего нормально вывести не удалось так вы написали.
Максимально выводится 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 нет ничего.

Уже все варианты перебрал.
После каждой операции писал проверку, чтобы видеть на каком этапе косяк.
И вот получается, что по запросу ресурс выводит, но вот что в нем-не понятно.
Работал по учебникам, по примерам в них.
Прочитал полностью обработку полученных ресурсов, написал как в примере. И ни фига!

Последний раз редактировалось Dan922, 29.09.2017 в 22:38.
Ответить с цитированием
  #60 (permalink)  
Старый 30.09.2017, 00:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Я не знаю что вы там делаете и что за проблемы, но я вам своих конструкций не мог написать. Все что я писал, это стандартные функции для работы с базой MySQL взятые из руководства РНР.

Я лишь оперировал "условной переменной", которую назвал $id, ибо говоря о том, что данные извне сервер обязан проверять, и самое простое в данном контексте, это привести их к Integer. Какое имя в вашем случае после всех операций получит ваша переменная я не знаю, поэтому и "условная". Вы ее добросовестно копируете себе, а таковой у вас и близко нет, делаете запрос и естественно получаете ошибку.

Вы чего хотите, чтобы я и далее писал примеры, а вы их копировали и задавали вопросы "почем"? Смысла нет - открывайте и читайте руководство, по каждым функциям есть примеры. Забудьте о своем Ajax и просто отдельным сркиптом обращайтесь к своей базе за конкретными записями. Как поймете что к чему, несложно будет понятое перенести и в реальный скрипт.

Последний раз редактировалось laimas, 30.09.2017 в 00:37.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 Select зависимы друг от друга u4enik12 Общие вопросы Javascript 8 13.06.2016 10:40
Проверка нескольких select на одинаковые значения emulexx Общие вопросы Javascript 6 07.04.2015 15:19
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31