Прошу помощи, сильно не пинайте, первый раз сталкиваюсь с этим. Вобщем на сайте нужно сделать одобрение комментариев, так как их много, нужно сделать чтобы на одной странице выбрать массив айди одной кнопочкой одобрить их. У каждого комментария стоит checkbox с уникальным айди, что то вроде: Код (Text): <input type="checkbox" name="comm" value="yes"> yes - значение на которое нужно изменить в таблице поля выбранных комментов Проблема в том что я никогда не делал обновление полей у таблицы массивом по нескольким айди, делал лишь по одному айди и не знаю как их принять, перечислить в файле.
название чекбокса делаете с [] - это даст массив в массиве _GET, далее в запросе к базе эти данные делаете implode Добавлено спустя 5 минут 54 секунды: в форме одобрения: <input type="checkbox" name="id[]" value="COMMENT_ID_HERE"> в обработчике лепим все айдишники в строку через запятую $ids = implode(',',$_GET['id']); в запросе WHERE id IN ($ids) примерно так
А есть какой нибудь пример, а то я не пойму Как то так? Код (Text): <input type="checkbox" name="comm[1]" value="yes"> <input type="checkbox" name="comm[2]" value="yes"> <input type="checkbox" name="comm[3]" value="yes"> Цифры это айди правильно? А как принять в файле это все дело?
нет, смотрите добавку к моему первому комменту. имя чекбокса должно тупо содержать [] а айдишник - в значении
Ясно, спасибо большое, попробую если что отпишу =) Добавлено спустя 49 минут 27 секунд: Обновляет но по одному =( Делаю так: Форма на сайте Код (Text): <form method='GET' action='/admin/system/index.php?comm=[]' name="input"> <div class="comments">текст комментария</div> Одобрить:<input type="checkbox" name="comm[]" value="'.$r['id'].'"> <div class="comments">текст комментария 2</div> Одобрить:<input type="checkbox" name="comm[]" value="'.$r['id'].'"> <input title="Ctrl+Enter" name="input" class="bold" value="ok" type="submit"> </form> Файл index.php Код (Text): <?php header("Content-Type: text/plain; charset=UTF-8"); // обновление коммента $comm = implode(',',$_GET['comm']); // статус $status = ""; /* здесь подключение к базе данный */ $query = "UPDATE `comments` set `index`='yes' WHERE `id`='$comm'"; if($result = mysql_query($query)) { $status = "Обновлено!"; } else { $status = "Произошла ошибка"; } mysql_close($link); echo ''.$status. ''; /* статус */ ?> Ссылка в браузере формируется: Код (Text): http://site.ru/admin/system/index.php?comm%5B%5D=11&comm%5B%5D=10&comm%5B%5D=9&input=ok Думаю что то с моей формой не так, а именно в ссылке Код (Text): /admin/system/index.php?comm=[]
ВХЕРЕ ид {равно} ид - обновит только одну запись ВХЕРЕ ид ИН (список_ид) - обновит все найденные записи с выбранными ид. читайте внимательнее мой пост