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]   

> Без описания
fireXXX
Отправлено: 06 Октября, 2009 - 19:19:46
Post Id


Частый гость


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


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




У меня есть массив $_POST, надо по нему сделать выборку из таблицы

попробовал через array_shift повыдергивать значения переменных, но создать sql запрос не получается что-то,

поясню, например в $_POST есть id=1, id=2, id=3
ну и мне надо сделать селект id= где эти значения

спасибо
(Добавление)
сделал так

PHP:
скопировать код в буфер обмена
  1.  
  2. for ($i=0; $i<count($_POST); $i++) {
  3. $sqll="SELECT * FROM `clients` WHERE `id` = ".array_shift($_POST)."";
  4.  

(Добавление)
хм, криво как-то

выдает меньше, чем есть строчек

например
PHP:
скопировать код в буфер обмена
  1.  
  2. if (isset($_POST[submit])) {
  3. echo count($_POST);
  4.  
  5. echo "<br><BR><BR>";
  6.  
  7. for ($i-0; $i<=count($_POST); $i++) {
  8.    
  9.     echo array_shift($_POST)."<BR><BR>";
  10.    
  11. }}
  12.  
  13.  


прикол в том, что echo count($_POST) показывает 5
а в цикле выводит 3 строчки, в чем прикол?! (
 
 Top
fireXXX
Отправлено: 06 Октября, 2009 - 21:21:15
Post Id


Частый гость


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


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




блин...
!!!!!!!!!!!!!

вот такой код

PHP:
скопировать код в буфер обмена
  1.  
  2. if (isset($_POST[submit])) {
  3. echo count($_POST);
  4.  
  5. echo "<BR>";
  6. print_r ($_POST); echo "<BR>";
  7. for ($i=0; $i<=count($_POST); $i++) {
  8.  
  9.     echo "<br><BR>".count($_POST)."<BR>";
  10.     echo array_shift($_POST)."<BR><BR>";
  11.     print_r ($_POST); echo "<BR>";
  12. }}
  13.  

Выдает мне вот такое в монитор, там по сути остались 2 элемента массива, почему он их не вытаскивает?
CODE (text):
скопировать код в буфер обмена
  1.  
  2. 5
  3. Array ( [39] => 39 [40] => 40 [38] => 38 [37] => 37 [submit] => Tisk )
  4.  
  5.  
  6. 5
  7. 39
  8.  
  9. Array ( [0] => 40 [1] => 38 [2] => 37 [submit] => Tisk )
  10.  
  11.  
  12. 4
  13. 40
  14.  
  15. Array ( [0] => 38 [1] => 37 [submit] => Tisk )
  16.  
  17.  
  18. 3
  19. 38
  20.  
  21. Array ( [0] => 37 [submit] => Tisk )
  22.  
 
 Top
Viper
Отправлено: 07 Октября, 2009 - 07:33:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




зачем array_shift ?
вы в цикле уже перебираете значения из $_POST

PHP:
скопировать код в буфер обмена
  1. $ids = $_POST;
  2.  
  3. for ($i=0, $n=count($ids); $i<$n; $i++) {
  4. $sqll="SELECT * FROM `clients` WHERE `id` = '".int()$ids[$i]."'";
  5. ...



как-то так наверное...


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
fireXXX
Отправлено: 09 Октября, 2009 - 23:40:51
Post Id


Частый гость


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


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




что-то не получается, а тут
PHP:
скопировать код в буфер обмена
  1. $sqll="SELECT * FROM `clients` WHERE `id` = '".int()$ids[$i]."'";


синтакс еррор
 
 Top
EuGen Администратор
Отправлено: 09 Октября, 2009 - 23:48:04
Post Id


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


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $sql="SELECT * FROM `clients` WHERE `id` IN (".join(',', $_POST).")"
  4. ?>
  5.  

При этом не передавайте Ваш 'submit', иначе ошибка будет


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
fireXXX
Отправлено: 09 Октября, 2009 - 23:54:39
Post Id


Частый гость


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


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




Viper пишет:
зачем array_shift ?
вы в цикле уже перебираете значения из $_POST


Спасибо за наводку, и в правду, переделал по-другому
 
 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