Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   checkbox'ы и массив $_POST[] (https://forum.antichat.xyz/showthread.php?t=72944)

0x22b 07.06.2008 13:38

checkbox'ы и массив $_POST[]
 
Вообщем доделываю админку Инет магазина(простенького), есть такая тема, что:
Выводится таблица, в ней в каждой строке идет такая инфа. Чекбокс, ФИО и прочая лабуда, заказ, сумма. И так по каждому заказу. Внизу кнопка "выделенное удалить". При генерации таблицы, каждому чекбоксу, имя и значение является id заказа. Так вот когда я отмечаю нужное и нажимаю удалить, в скрипт методом пост передается все отмеченное. Наверно вопрос звучит глупо, но я не могу найти ему решение. Как мне из массива $_POST[], выдрать все значение в какойнибудь заранее объявленый массив? подскажите народ пожалуйста. Админку нужно до понедельника закончить, это моя дипломная работа.. Заранее всем благодарен.

gordonfreeman 07.06.2008 13:46

Вначале скрипта проверяй нажата ли кнопка "Удалить", если да то выполняй необходимые действия для удаления.

NOmeR1 07.06.2008 13:46

Вобщем вместо названия переменной из $_POST можно использовать массив:
Код:

<input type="checkbox" name="delete[]" value="ID">
И теперь $_POST['delete'] - это массив, в котором в качестве значений используются те ID, которые ты вписал в value у инпута. Короче говоря, вот простой пример использования:
Код:

foreach($_POST['delete'] as $ID) {
        if(mysql_query("DELETE FROM `table` WHERE `id` = '".intval($ID)."';")) {
                echo 'ID: '.$ID.' удалена';
        } else {
                echo 'ID: '.$ID.' не удалена';
        }
}


0x22b 07.06.2008 14:11

to gordonfreeman либо ты меня не так понял, либо сам не в теме..
to NOmeR1 спс, кажется понял о чем ты мне хочеш поведать, попробую.. +

gordonfreeman 07.06.2008 14:19

Я до сих пор не понимаю в чем сложность была

0x22b 07.06.2008 14:40

to gordonfreeman сравни свой пост, и пост NOmeR1.. видиш разницу, человек прочитал все от начала до конца и понял суть, толково подсказал.. А ты мне заявлеш: определи нажатие на кнопку и удаляй что нужно.. Когда сталкнешся с такой проблемой тогда пойсмеш в чем фишка была..

Arrest 07.06.2008 14:40

NOmeR1
Зачем так БД трогать? Use IN:
PHP код:

$in "(".implode(", "$_POST['delete']).")";

if(
mysql_query("DELETE FROM `table` WHERE `id` IN $in;")){
    echo 
"Удалены ID $in";// что-то такое
}else{
    echo 
"Ошибка при выполнении SQL-запроса.";




Время: 06:50