Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Множественный выбор данных в БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
McLotos
Отправлено: 11 Апреля, 2011 - 12:15:10
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Подскажите как организовать вывод данных в окно множественного выбора?
В окно нужно вывести результат запроса
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT DISTINCT (recipient) FROM  `Calls` WHERE phone_number =$_SESSION['phone_number'];


-----
ЯГотовПоверить,ЧтоБываютСлучаи,КогдаУдалениеЗубовАвтогеномЧерезЗаднийПроходЯвляетсяРациональным.
 
 Top
EuGen Администратор
Отправлено: 11 Апреля, 2011 - 12:16:32
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Что такое "окно множественного выбора"? Форма, где есть чекбоксы, соответствующие каждой строке?
Тогда обычным mysql_fetch_array пройтись по результатам выборки и вывести их.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
McLotos
Отправлено: 11 Апреля, 2011 - 12:28:27
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Не совсем так, точнее совсем не так.
CODE (html):
скопировать код в буфер обмена
  1. <select name=day size=7 multiple>
  2. <option value=1>Понедельник</option>
  3. <option value=1>Вторник</option>
  4. <option value=1>Среда</option>
  5. <option value=1>Четверг</option>
  6. <option value=1>Пятница</option>
  7. <option value=1>Суббота</option>
  8. <option value=1>Воскресенье</option>
  9. </select


-----
ЯГотовПоверить,ЧтоБываютСлучаи,КогдаУдалениеЗубовАвтогеномЧерезЗаднийПроходЯвляетсяРациональным.
 
 Top
EuGen Администратор
Отправлено: 11 Апреля, 2011 - 12:35:59
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну так разница-то в чем...
PHP:
скопировать код в буфер обмена
  1.  
  2. $result=mysql_query('SELECT DISTINCT(recipient) AS `field`, id FROM  `Calls` WHERE phone_number ='.$_SESSION['phone_number']);
  3. echo('<select name="SELECT" multiple>');
  4. while($row=mysql_fetch_array($result))
  5. {
  6.    echo('<option value='.$row['id'].'>'.$row['field'].'</option>');
  7. }
  8. echo('</select>');
  9.  

обратите внимание, я добавил поле id в выборку (для значений select в форме) - у Вас оно может называться по-другому.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
McLotos
Отправлено: 11 Апреля, 2011 - 12:39:49
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Parse error: syntax error, unexpected T_STRING в строке echo('<select name="SELECT" multiple>');


-----
ЯГотовПоверить,ЧтоБываютСлучаи,КогдаУдалениеЗубовАвтогеномЧерезЗаднийПроходЯвляетсяРациональным.
 
 Top
EuGen Администратор
Отправлено: 11 Апреля, 2011 - 12:44:36
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Не ленитесь думать, анализировать код. Или же создавайте темы в разделе "Напишите за меня, пожалуйста". Ошибка была, очевидно потому, что я скопировал текст Вашего запроса в mysql_query.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
McLotos
Отправлено: 11 Апреля, 2011 - 12:46:48
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




С ошибкой я уже разобрался. Сделал вот так
PHP:
скопировать код в буфер обмена
  1. $query=('SELECT DISTINCT(recipient) AS field,id_call FROM Calls WHERE phone_number=$phone_number');
  2. $result=mysql_query($query);
  3. echo('<select name="SELECT" multiple>');
  4. while($row=mysql_fetch_array($result))
  5. {
  6.    echo('<option value='.$row['id'].'>'.$row['field'].'</option>');
  7. }
  8. echo('</select>');

Только я не могу понять почему вместо окна со списком уникальных данных выводится окошко высотой 10 и шириной 3, естественно пустое.


-----
ЯГотовПоверить,ЧтоБываютСлучаи,КогдаУдалениеЗубовАвтогеномЧерезЗаднийПроходЯвляетсяРациональным.
 
 Top
EuGen Администратор
Отправлено: 11 Апреля, 2011 - 12:49:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Потому что, например, запрос ничего не вернул (или завершился ошибкой).
Кроме того, я не указал размер поля в select в html (то, что у Вас было равно 7 для select с днями) - оставив на Ваше усмотрение.
Посмотрите, что попадает в массив, который Вы пробегаете в цикле. Словом,
http://phpfaq[dot]ru/debug


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
McLotos
Отправлено: 12 Апреля, 2011 - 09:25:51
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Ещё немного подправил код. Всё заработало. А не подскажете как теперь добавить рядом ещё одно окно, в которое это всё бы перекидывалось? Т.е. второе пустое окно и две кнопочки между ними.Само окно я знаю как вставить, проблема как раз с кнопочками, и с запросами. А кстати реально сделать так чтобы всё что попало во второе окно сразу прогонялось через запрос
CODE (SQL):
скопировать код в буфер обмена
  1.  SELECT * FROM Calls WHERE phone_number==$phone_number AND recipient==(кстати как присвоить сюда переменную?)

Чем дальше продвигаюсь, тем больше вопросов появляется.
PHP:
скопировать код в буфер обмена
  1. $query="SELECT DISTINCT recipient AS field,recipient FROM Calls WHERE phone_number='$phone_number' order by recipient";
  2. $result=mysql_query($query);
  3. echo('<table><tr><td><select name="List" size=7 multiple>');
  4. while($row=mysql_fetch_array($result))
  5. {
  6.    echo('<option value='.$row['recipient'].'>'.$row['field'].'</option>');
  7. }
  8. echo('</select></td>');

(Отредактировано автором: 12 Апреля, 2011 - 09:28:00)



-----
ЯГотовПоверить,ЧтоБываютСлучаи,КогдаУдалениеЗубовАвтогеномЧерезЗаднийПроходЯвляетсяРациональным.
 
 Top
EuGen Администратор
Отправлено: 12 Апреля, 2011 - 09:28:39
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Для такого рода запросов придется уже осваивать AJAX.
Вот пример с использование jQuery:
http://www[dot]rsdn[dot]ru/article/inet/jQuery[dot]xml#EAIAE
В этой статье, думаю, и ответ на вопрос о "перекидывании" найдете.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
McLotos
Отправлено: 12 Апреля, 2011 - 09:34:50
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




А можно привязать запрос прямо к кнопке? Или нужно каким-то образом проверять второе окно, типа если туда что-то добавили, то пробить эти данные по БД, найти соответствие и вывести все рещультаты? Или в любом случае нужно создавать дополнительную кнопку "Запрос"? И кстати как вообще искать то что отобрали? Я что-то не понимаю. Там же нет никаких переменных? А id в этой ситуации не поможет. Пример запроса в моём предыдущем сообщении.


-----
ЯГотовПоверить,ЧтоБываютСлучаи,КогдаУдалениеЗубовАвтогеномЧерезЗаднийПроходЯвляетсяРациональным.
 
 Top
EuGen Администратор
Отправлено: 12 Апреля, 2011 - 09:38:50
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




На нажатие кнопки - onClick
Искать то, что отобрали - будете на стороне сервера - для этого Вам и требуется AJAX-запрос


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB