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]   

> Без описания
alsio
Отправлено: 19 Декабря, 2013 - 22:38:44
Post Id


Гость


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


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

[+]


Есть таблица, в которую циклом выводятся данные из БД:

PHP:
скопировать код в буфер обмена
  1. <table width="200" border="0" cellspacing="0" cellpadding="0">
  2. <tr class="tablebar">
  3. <td width="16">Чекбокс</td>
  4. <td width="50">Дата</td>
  5. <td width="50">Статус</td>
  6. <td width="100">Инфо</td>
  7. </tr>
  8. <? while ($row = mysql_fetch_array($res)) {
  9. <tr>
  10. <td><? echo ("<input type=\"checkbox\" name=\"box[]\" value=\"".$row["zip_id"]."\" /> "); ?></td>
  11. <td><? echo (" ".$row["zip_creatdate"]." "); ?></td>
  12. <td><? echo (" ".$row["zip_status"]." "); ?></td>
  13. <td><? echo (" ".$row["zip_info"]." "); ?></td>
  14. </tr>
  15. <? } ?>
  16. </table>


нужно, чтобы обработчик делал какие-то действия с записями, которые отмечены чекбоксами. Конкретной инфы что-то не нашел. Нашлось такое:

PHP:
скопировать код в буфер обмена
  1. <?
  2. if(isset($_POST['box']))
  3. {
  4. foreach($_POST['box'] as $x)
  5. {
  6. echo $x;
  7. }
  8. }
  9. ?>


этот код выводит в строчку номера id, выделенные чекбоксами.

А как его заставить делать какие-то действия с записями? Например, вывести только записи, выделенные чекбоксами, типа:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $sql = "SELECT * FROM zip WHERE zip_id='$x' ORDER BY zip_creatdate DESC, zip_id DESC";
  3. $res = mysql_query($sql) or die(mysql_error());
  4. ?>
 
 Top
caballero
Отправлено: 19 Декабря, 2013 - 22:54:27
Post Id


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


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


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




если хочешь чтобы код читали пиши так чтобы глаза не ломались

PHP:
скопировать код в буфер обмена
  1. <tr>
  2. <td><input type="checkbox" name="box[]" value="<?=$row["zip_id"]?>" /></td>
  3. <td> <?=$row["zip_creatdate"] ?> </td>
  4. <td> <?=$row["zip_status"] ?> </td>
  5. <td> <?=$row["zip_info"] ?> </td>
  6. </tr>
  7.  
  8.  


Цитата:
как его заставить делать какие-то действия с записями? Например, вывести только записи, выделенные чекбоксами,


прочитать значения чекбоксов и добавить условия в SQL запрос


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
alsio
Отправлено: 20 Декабря, 2013 - 08:45:31
Post Id


Гость


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


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

[+]


Извините, не хотел ломать ничьи глаза Улыбка

А по поводу
caballero пишет:
прочитать значения чекбоксов и добавить условия в SQL запрос


это как бэ понятно, но сюда, как правило, обращаются не для того, чтобы прослушать теоретический курс программирования... (поймите меня правильно).

Значения чекбоксов я прочитал, а как правильно написать SQL запрос, не понимаю.

(Отредактировано автором: 20 Декабря, 2013 - 09:21:31)

 
 Top
kotyara1979
Отправлено: 20 Декабря, 2013 - 10:30:00
Post Id


Частый гость


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


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




Весьма сложно что то вам посоветовать, не зная чего вы хотите.

Поконкретнее можно?


-----
Сделать можно все. Главное одеть каску.
 
 Top
rudakoff
Отправлено: 20 Декабря, 2013 - 11:03:35
Post Id



Новичок


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


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




Касательно SQL-запроса:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $sql = "SELECT * FROM zip WHERE zip_id IN (".implode(",", $_REQUEST['box']).") ORDER BY zip_creatdate DESC, zip_id DESC";
  3. $res = mysql_query($sql) OR die(mysql_error());
  4.  
 
 Top
alsio
Отправлено: 20 Декабря, 2013 - 23:47:08
Post Id


Гость


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


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

[+]


kotyara1979 пишет:
Весьма сложно что то вам посоветовать, не зная чего вы хотите. Поконкретнее можно?


Да вроде в 1 посте все понятно описано. Да и вопрос снимается (спасибо, rudakoff)
(Добавление)
rudakoff пишет:
Касательно SQL-запроса:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $sql = "SELECT * FROM zip WHERE zip_id IN (".implode(",", $_REQUEST['box']).") ORDER BY zip_creatdate DESC, zip_id DESC";
  3. $res = mysql_query($sql) OR die(mysql_error());
  4.  


СПАСИБО! То, что надо.
closed

(Отредактировано автором: 20 Декабря, 2013 - 23:48:24)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB