[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление строк из БД + ajax
JOG
Всем привет! Хочу оформить удаление информации из БД mysql "без перезагрузки страницы". Вопрос только в том как правильно оформить ajax запрос? Разъясните пожалуйста.. huh.gif
SoMeOnE
Передавай в ajax id той инфы, которую хочешь удалять и по нему удаляй.
Например

$('#delete').on('click', function(event) {
id = 5;
$.post('http://' + window.location.host + '/delete.php',
{
id: id
},
function(data) {
// action
})
return false;
})
JOG
а что прописать в
function(data) {
// action
})
? ведь удаление из БД я пропишу в delete.php или оставить функцию пустой?
SoMeOnE
Сообщаешь информацию о работе сервера. Ну например.
alert('delete success')

Вначале проверь, что в data вернулась инфрмация по успешному удалению.
JOG
Не соображу никак как получить ID удаляемой статьи.
В общих чертах делаю вывод статей, в админ. панели. Напротив названий указываю ссылку "удалить". Хочу сделать удаление без перезагрузки.

Вывод статей выглядит следующим образом:

if($_GET['view'] == "stat"){
$sql = mysql_query("SELECT * FROM stat");
$sql_row = mysql_num_rows($sql);
for($i=0;$i<$sql_row;$i++){
$sql_array = mysql_fetch_array($sql);
echo('
<div class="text_style2"><li><a href="index.php?do=view_stat&id='
.$sql_array["id"].'">'.$sql_array["name_stat"].'</a></li></div>');
if($_SESSION['adm']== 1){
echo('<div class="text_style3">
<a href="index.php?do=red_stat&id='
.$sql_array["id"].'">ред</a>
<a href="index.php?do=dell_stat&id='
.$sql_array["id"].'" id="delete">del</a>
</div>'
);}
}
}


как правильно прикрутить ваш ajax запрос?

Весь тырнет перекапал про такой с одной стороны простой вопрос.. как отправить форму и добавить в базу есть, а как удалить не нахожу <_<
SoMeOnE
добавь отдельно id как аттрибут. допустим
<a data-id="'.$sql_array["id"].'" id="delete">del</a>

Потом соответствено
$('#delete').on('click', function(event) {
id = $(this).attr('data-id');
$.post('http://' + window.location.host + '/delete.php',
{
id: id
},
function(data) {
// action
})
return false;
})
JOG
всё равно не удаляет:(
Выводит alert об успешном удалении, но ничего не удаляет. Если всё верно, то вероятно в delete.php id не передаётся?


<script type='text/javascript' src="js/jquery.min.js"></script>
<?php
$sql = mysql_query("SELECT * FROM stat");
$sql_row = mysql_num_rows($sql);
for($i=0;$i<$sql_row;$i++){
$sql_array = mysql_fetch_array($sql);
echo('
<div class="text_style2"><li><a href="index.php?do=view_stat&id='
.$sql_array["id"].'">'.$sql_array["name_stat"].'</a></li></div>');
if($_SESSION['adm']== 1){echo('<div class="text_style3">
<a href="index.php?do=red_stat&id='
.$sql_array["id"].'">ред</a>
<a data-id="'
.$sql_array["id"].'" id="delete">del</a></div>');}
}

?>

в этом же файле пишу ваш код:

<script>
$(document).ready(function(){
$('#delete').on('click', function(event) {
id = $(this).attr('data-id');
$.post('http://ncn/delete.php',
{
id: id
},
function(data) {
alert('delete success');
})
return false;
})
});
</
script>


delete.php

<?php
include('config.php');
$con = mysql_connect($dbhost, $dblogin, $dbpass);
$set = mysql_select_db($dbname,$con);
mysql_set_charset( 'utf8', $con );

$id_dell = $_POST['id'];
$sql = mysql_query("DELETE from stat WHERE id='$id_dell'");

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.