Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2015, 16:05
Новичок на форуме
Отправить личное сообщение для slavapolyakov Посмотреть профиль Найти все сообщения от slavapolyakov
 
Регистрация: 28.02.2015
Сообщений: 1

Удаление элемента 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 что бы отправить запрос в базу. Помогите пожалуйста)

Последний раз редактировалось slavapolyakov, 28.02.2015 в 16:11.
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2015, 00:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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?

Последний раз редактировалось laimas, 01.03.2015 в 02:45.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элемента массива без сдвига индексов preproger Общие вопросы Javascript 6 06.03.2015 17:50
Изменение контента страницы без перезагрузки. sudoserzh Angular.js 2 17.08.2014 01:48
Загрузка аватарки без перезагрузки страницы kez jQuery 35 22.05.2009 11:12
Подгрузка информера без перезагрузки страницы splean Общие вопросы Javascript 6 13.03.2009 15:31
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06