PDA

View Full Version : سوال: آپدیت با استفاده از Ajax



PHPOnline
یک شنبه 03 خرداد 1394, 18:26 عصر
سلام
یک ردیف دارم و می خواهم با کلیک بر روی یک لینک ، کاربر متنی را وارد نماید .
تا به اینجای کار با استفاده از Jquery و پنجره Popup انجام شده .
حالا می خوام اون متن وارد شده در ردیف کلیک شده در دیتابیس آپدیت بشه .
نمی دونم چطوری باید کوئری WHERE رو بنویسم که با ajax آپدیت اون ردیف رو انجام بدم

H:Shojaei
یک شنبه 03 خرداد 1394, 18:31 عصر
ajax رو بلدید نگفتید؟؟
اگر بلدین که آیدی اون سطر رو یه جایی نگه دارید وقتی دارین سطر ها رو نمایش میدین بعد با جاوااسکریپت اون آی دی رو بگیرید و بفرستیدش به یک صفحه php و اونجا هم که دیگه کاری نداره یک کوئری معمولی و اجراش هست اگر اطلاعات بیشتر میخواید و نتونستید انجام بدید کدتون رو قرار بدین...

PHPOnline
یک شنبه 03 خرداد 1394, 18:42 عصر
برای گرفتن ID هر ردیف با JavaScript این رو نوشتم :

<script type="text/javascript">
$('body').delegate('.edit','click',function(){
var IdEdit = $(this).attr('ide');
alert(IdEdit);
});
</script>


و به درستی کار می کنه ، اما وقتی می خوام در پنجره پاپ آپ نمایش بدم فقط اولین ID رو نمایش میده :


<div id="Modal" class="reveal-modal">

<h4>شماره: <span class = "red"><?php echo $rows['id']; ?></span></h4>
<input type = "text" />
<input type="submit" value = "Ok" id = "send">

</div>

* اگر خارج پنجره پاپ آپ بنویسم مشکلی نیست و درست اجرا میشه !
در هر حال می خواهم بعد از نمایش کد در این قسمت همین ردیف رو در دیتابیس آپدیت کنم .

H:Shojaei
یک شنبه 03 خرداد 1394, 18:49 عصر
خوب الآن شما چطور اون آی دی رو ارسال کردید به مودال و جایگزینش کردید با $rows['id']; که اونجا نشونش بده؟
این رو امتحان کنید:

<script type="text/javascript">
$('body').delegate('.edit','click',function(){
var IdEdit = $(this).attr('ide');
$('#Modal h4 span').html(IdEdit);
//show modal here
});
</script>

PHPOnline
یک شنبه 03 خرداد 1394, 18:57 عصر
ممنون ، متوجه نشدم به چه شکل استفاده کنم !

H:Shojaei
یک شنبه 03 خرداد 1394, 19:00 عصر
ادیتور سایت قاطی کرده بود تصحیحش کردم فقط قبل alert() این کد رو اضافه کنید $('#Modal h4 span').html(IdEdit); بعدش هم مودال رو صدا بزنید ببینید چی میشه...

PHPOnline
یک شنبه 03 خرداد 1394, 19:10 عصر
ممنون دوست عزیز درست شد .
حالا می خوام همین ردیف که ID اون رو دارم رو با Ajax ویرایش کنم . فقط یک input دارم رو می خوام update کنم .

<script type="text/javascrip">
$.ajax({
type: "POST",
url: "Update.php",
data: " ?? ",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
</script>

بخش data رو چی قرار بدم که در فایل update.php کوئری رو بنویسم

PHPOnline
یک شنبه 03 خرداد 1394, 21:18 عصر
دوستان کمک می کنید ، چندین ساعت هست که جست و جو می کنم اما به نتیجه نرسیدم هنوز

H:Shojaei
دوشنبه 04 خرداد 1394, 11:23 صبح
خوب مقدار رو که گرفتید و داخل IdEdit گذاشتید به همراه تکستی که میخواد ویرایش بشه رو باید به وسیله ajax بفرستیدش به سمت سرور و اونجا کوئری رو بسازید و اجراش کنید...
ارسال مقادیر هم به این صورت هست:

<script type="text/javascrip"> $.ajax({
type: "POST",
url: "Update.php",
data: "{id:IdEdit,txt:InputText}",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
</script>

بعد سمت سرور تو صفحه Update.php باید مقادیر رو با POST بگیرید و کوئری رو بسازید و اجراش کنید و تمام...
به این صورت:


$id=$_POST['IdEdit'];
$newText=$_POST['InputText'];

//make query ,.....