За последние 24 часа нас посетили 52138 программистов и 1765 роботов. Сейчас ищут 863 программиста ...

Массовое удаление постов

Тема в разделе "PHP для новичков", создана пользователем amen, 3 ноя 2009.

  1. amen

    amen Активный пользователь

    С нами с:
    18 сен 2009
    Сообщения:
    298
    Симпатии:
    0
    Адрес:
    Узбекистан
    Нужна помощь...
    В цикле к каждому выводимому сообщению привязывается чекбокс:

    HTML:
    1. <input type="checkbox" name="id[]" value="<?php echo $rw['id']?>">
    Ниже, вне цикла, имеется кнопка "Удалить".

    Сейчас можно удалять только одно сообщение. Как сделать, чтобы можно было несколько за раз?

    Фрагмент кода обработчика формы:

    PHP:
    1. foreach ($id as $val)
    2. {
    3.  
    4. $q = "DELETE FROM comments
    5.      WHERE id=".$val;
    6. }
     
  2. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Убери нафиг цикл

    PHP:
    1. <?
    2. $q = "DELETE FROM comments
    3.       WHERE id in ".implode(",", $id).")";
    это сработает при условии, что где-то там в скрипте у тебя есть и нормально заполнен массив $id
     
  3. amen

    amen Активный пользователь

    С нами с:
    18 сен 2009
    Сообщения:
    298
    Симпатии:
    0
    Адрес:
    Узбекистан
    Ага,

    То есть это -
    PHP:
    1. if (isset($_POST['id']))
    2. $id = $_POST['id'];
    не катит?
     
  4. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    должно катить.
     
  5. amen

    amen Активный пользователь

    С нами с:
    18 сен 2009
    Сообщения:
    298
    Симпатии:
    0
    Адрес:
    Узбекистан
    PHP:
    1.  
    2. <?
    3. if (isset($_POST['id']))
    4. $id = $_POST['id'];
    5. else echo "error";
    6.  
    7. $q = "DELETE FROM comments
    8.      WHERE id in ".implode(",",$id).")";
    9.  
    10. if (mysql_query($q))
    11. {
    12. #тырым-пырым
    13. }
    14. else
    15. echo mysql_error();
    ..нет, всё же показывает ошибку

     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Открывающей скобки не хватает.
     
  7. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    сделай echo $q и посмотри как он выглядит
     
  8. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    точно. я пропустил.
     
  9. amen

    amen Активный пользователь

    С нами с:
    18 сен 2009
    Сообщения:
    298
    Симпатии:
    0
    Адрес:
    Узбекистан
    Большое спасибо