Удаление элемента id без перезагрузки страницы
Всем привет! Подскажите как сделать удаление отдельного элемента id с базы не перезагружая страницу. Я так понимаю это нужно делать на ajax, пробовал ничего не получается. Вот обработчик form.php
$id = intval($_GET['id']); if (mysql_num_rows(mysql_query('SELECT `id` FROM user_notification WHERE id = '.$id))) { if (mysql_query("DELETE FROM user_notification WHERE id = ".$id." LIMIT 1")) { print "yes"; } else { print "no"; } } else { print "no id"; } Вот файл отображения оповещений main.php $sql = mysql_query("SELECT * FROM `user_notification` WHERE uid = '".$user_id."' OR login = '".$login."' ORDER BY id DESC"); if(mysql_num_rows($sql)) { while($a = mysql_fetch_array($sql)) { print " ".date("d.m.Y H:i", $a['date'])." ".$a['text']." <a href="form.php?id=".$a['id']."">удалить </a> "; } } else { print "Оповещений нет"; } Я никак не могу передать id в код ajax что бы отправить запрос в базу. Помогите пожалуйста) |
ID - это уникальный идентификатор, который не может быть равен нулю.
Оператор DELETE возвращает число удаленных записей. Исходя из этого запрос перед удалением 'SELECT `id` FROM user_notification WHERE id = '.$id является лишним, а уникальность идентификатора не требует LIMIT 1, и в данном случае лишено всякого смысла. Таким образом операция удаления должны быть такой: if($id = (int)$_GET['id']) { if (mysql_query("DELETE FROM user_notification WHERE id = ".$id)) exit('Успешно удалено'); else exit('Такого пользователя не существует'); //хотя это тоже означает, что запрос левый } esle exit; //ибо иначе это чистая подстава В запросе на удаление параметр запроса (id) был приведен к типу integer, что исключает инъекцию. А параметры выборки $user_id и $login каким образом обработаны? Я никак не могу передать id в код ajax что бы отправить запрос в базу. В вашем коде не видно даже попытки этого, как такового кода Ajax нет. Используется ли на страницах jQuery? |
Часовой пояс GMT +3, время: 18:01. |