PDA

View Full Version : سوال: آپدیت کردن دیتابیس توسط jquery



mahsa.norozy
دوشنبه 04 دی 1391, 11:27 صبح
سلام به همه دوستان

من یک صفحه سوالات متداول در قسمت مدیریت دارم، میخوام وقتی مدیر روی دکمه حذف هر سطر سوال کلیک کرد فیلد Deleted رکورد مورد نظر توسط jquery ajax از 0 به 1 تغییر کنه ولی قسمت کد php کار نمی کنه لطفا راهنمایی کنید

کد jquery


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function ()
{
$(".delbutton").click(function ()
{
var questionid = $(this).attr("id");
var tr_id = $(this).parents(".record");

if (confirm("آیا می خواهید این سوال را حذف کنید ؟"))
{
$.ajax({
type: 'POST',
url: 'delquestion.php',
data: {qid: questionid},
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg)
{
tr_id.remove();
alert(msg.d);
},
error:function()
{
alert("خطا در سرور!لطفا مجددا تلاش کنید");
}
});
}
return false;
});
});
</script>


کد php صفحه delquestion.php


<?php
if(isset($_POST['qid']) && !empty($_POST['qid']))
{
$questionid = $_POST["qid"];
include_once("../connection.php");
$update_result = mysql_query("UPDATE questionreply SET Deleted = '1' WHERE QuestionId = '$questionid'");
if($update_result)
return("حذف شد");
else
return("خطا");
}
?>

mahmod2000
دوشنبه 04 دی 1391, 11:41 صبح
من اونجوری که متوجه شدم شما در فایل php زدید :
$questionid = $_POST["qid"];

باید در ajax اینجوری بنویسید :
data: {questionid: questionid}

mahsa.norozy
دوشنبه 04 دی 1391, 11:48 صبح
همه qid ها رو به questionid تغییر دادم فرقی نکرد

mahmod2000
دوشنبه 04 دی 1391, 12:29 عصر
نه همه را نمیخواد که عوض کنید

شما در فایل php مقدار آی دی رو ریختید تو متغیر questionid درسته؟؟

حالا تو ajax تو قسمت data باید متغیری که تو فایل php تعریف کردید رو با مقدار آی دی که میخواید بگیرید تطبیق بدید

$.ajax({ type: 'POST',
url: 'delquestion.php',
data: {questionid: questionid},
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg)


البته من این روش رو احتمال میدم
دوستان دیگه حتما جواب بهتری دارند برای سوال شما

موفق باشید...

mahsa.norozy
سه شنبه 05 دی 1391, 15:56 عصر
کسی نمی تونه به من کمک کنه؟:گریه:

$ M 3 H R D A D $
سه شنبه 05 دی 1391, 16:59 عصر
نیار به کارهای بالا نیست همون روش اول درسته
اولی نام و دومی مقدار به همون صورت اول باشد
مقدار برگشتی و بزارید html یا text/plain

تو فایل php هم اگه موفق بود یا نبود از مقدار 0 و یک استفاده کنید
متغییر msg خروجی هست
یعنی خروجی فایل php
که همون 0 یا 1 است
success: function (msg)
این یعنی آجاس با موفقیعت انجام شد نه اینکه فایل با موفقیعت پاک شد
شما باید مقدار msg و چک کنید
اگه 1 بود پاک کرد اگه نه هیچی

mahsa.norozy
چهارشنبه 06 دی 1391, 14:26 عصر
من کدم رو اینجوری تغییر دادم


if(isset($_POST['questionid']) && !empty($_POST['questionid']))
{
$questionid = $_POST["questionid"];
include_once("../connection.php");
$update_result = mysql_query("UPDATE questionreply SET Deleted = '1' WHERE QuestionId = '$questionid'");
if($update_result)
return 1;//updated
else
return 0;//not updated
}



حالا توی jquery به من null بر میگردونه!! انگار که فایل php اصلا اجرا نشده

shahriyar3
چهارشنبه 06 دی 1391, 14:44 عصر
اینو اضافه کنید ببینید جواب میده؟
alert( msg);

$ M 3 H R D A D $
چهارشنبه 06 دی 1391, 20:33 عصر
خوب باید کد جاوا هم تعییر بدی
اونو تغییر دادی اگه آره بده ببینیم