Доброго времени суток. Подскажите, пожалуйста, как реализовать удаление комментария при нажатии на <input type="image"> для кода: Код (PHP): while($myrow=mysql_fetch_array($res)) { if($myrow['new_id'] == $id){ echo ' <div style="border:1px solid silver; padding:5px 0 0 5px; margin:5px 0 5px 0"> ';} if($myrow['new_id'] == $id) if ($_SESSION['user_access_level'] == 'admin') echo ' <form style="padding:0" action="" method="post"> <input type="image" name="delete_comment" style="padding:0; margin:0 0 5px 10px; cursor:pointer;" title="Удалить комментарий" src="images/delete.png"></input></br> </form> '; if($myrow['new_id'] == $id) echo ' <span style="font-size:18px; padding:0">'.$myrow['text'].'</span></br> <span class="text1" style="font-size:12px; line-height:20px; padding:0">Добавил '.$myrow['user_login'].' '.$myrow['create_date'].'</span> </div> '; } Никак не могу допереть, в какой части кода нужно брать id комментария для удаления.
Так мне же нужно где-то взять id комментария чтобы потом удалить его из бд Добавлено спустя 18 секунд: я по этому сюда и обратился Добавлено спустя 1 минуту 46 секунд: Если делать так как вы написали то неизвестно какой коммент удалять
Точно, спасибо огромное, я б не догадался)) Добавлено спустя 5 минут 12 секунд: Такой вопросик ещё: Код (PHP): if (isset($_POST['delete_comment'])) if($_SESSION['user_access_level'] == 'admin') mysql_query ("DELETE * FROM `news_comments` WHERE `id` = ".$_POST['comment_id_delete'].""); Что тут не так?
Код (PHP): if (isset($_POST['delete_comment'])) if($_SESSION['user_access_level'] == 'admin') mysql_query ("DELETE * FROM `news_comments` WHERE `id` = '{$_POST['comment_id_delete']}';"); я думаю, не будет лишним всегда использовать открывающую и закрывающую скобку для операторов ветвления. И не есть хорошо обращаться к суперглобальным переменные таким образом. Добавлено спустя 55 секунд: и пора перейти на использование mysqli так как mysql уже устарел и будет выпилен в новой версии.
Насчёт суперглобальных переменных - привычка не выработалась) а насчёт mysqli надо бы подучить.... Я сделал вот так: Код (Text): mysql_query ("DELETE FROM `news_comments`"); но всё равно не удаляет, значит дело не в фигурных скобках...
я выше выложил код, где правил запрос твой. последний твой запрос не работает потому что пропустил "*" и этот запрос удалит все комменты будь осторожен.
Да на коммента мне пофиг, их пока что нет)) я только движок пишу)) и то на денвере) Добавлено спустя 1 минуту 20 секунд: Всё равно не хочет удалять
Код (PHP): if (isset($_POST['delete_comment'])) if($_SESSION['user_access_level'] == 'admin') mysql_query ("DELETE FROM `news_comments` WHERE `id` = '{$_POST['comment_id_delete']}';"); Добавлено спустя 46 секунд: оказалось для delete не нужна "*"
Нет Добавлено спустя 1 минуту 17 секунд: Не срабатывает условие Код (PHP): if (isset($_POST['delete_comment']))
Код (PHP): echo "<pre>"; var_dump($_POST);//проверим, существует ли переменная которую мы ожидаем. echo "</pre>";
Код (PHP): if ($_SESSION['user_access_level'] == 'admin') echo ' <form style="padding:0" action="" method="post"> <input type="hidden" name="comment_id_delete" value="'.$myrow['id'].'"></input> <input type="image" name="delete_comment" style="padding:0; margin:0 0 5px 10px; cursor:pointer;" title="Удалить комментарий" src="images/delete.png"></input></br> </form> '; Добавлено спустя 1 минуту 8 секунд: array(0) {}
Я то понл, но не могу понять теперь почему всё таки не идёт post Добавлено спустя 3 минуты 32 секунды: Блин, это я лах. Есть всё таки пост: Код (Text): array(3) { ["comment_id_delete"]=> string(1) "8" ["delete_comment_x"]=> string(1) "4" ["delete_comment_y"]=> string(1) "6" } Добавлено спустя 23 секунды: Я страницу обновил, а на кнопочку то нажать не додумался) Добавлено спустя 1 минуту 54 секунды: А почему delete_comment_x и delete_comment_y? Что это значит? Добавлено спустя 3 минуты 48 секунд: Всё получилось) Спасибо за помощь)) Я не знал что если <input type="image"> то берутся координаты)