PDA

View Full Version : مشكل در حذف يك ركورد با استفاده از كانفيرم جاوااسكريپت



bps20590
چهارشنبه 25 شهریور 1388, 15:47 عصر
با سلام
من روي فرمم تعدادي ركورد دارم كه در سمت راست آنها يك چك باكس قرار داده شده است حال هرگاه مشتري يكي يا تعداي از آنها را انتخاب كند بعد از كليك روي دكمه submit يك پيغام براي تائيد حذف داده شود بعد اطلاعات حذف شود اينكار انجام مي شود اما هرگاه كنسل نيز زده مي شود بازهم حذف مي شود لطفا مشكل كد زير را بگوئيد.


<script type="text/javascript">
function confirmation() {

var answer = confirm("آيا از حذف مسابقه انتخاب شده مطمئن هستيد؟")
if (answer){

<?php
if (!empty($_POST['del_me'])) {
$sub=$_POST['del_me'];
$count=count($sub);
for($i=0;$i<$count;$i++)
{
$sql = "DELETE FROM race WHERE id_race='$sub[$i]'";
mysql_query($sql) or die(mysql_error());

$sql1 = "DELETE FROM race_team WHERE id_race='$sub[$i]'";
mysql_query($sql1) or die(mysql_error());
$sql2 = "DELETE FROM pishbini WHERE id_rice='$sub[$i]'";
mysql_query($sql2) or die(mysql_error());
$sql3 = "DELETE FROM info_form WHERE id_race='$sub[$i]'";
mysql_query($sql3) or die(mysql_error());
$sql3 = "DELETE FROM result WHERE id_race='$sub[$i]'";
mysql_query($sql3) or die(mysql_error());

}
}
?>
alert('مسابقه مورد نظر حذف شد');
}
else
return false;

}

//-->
</script>


اينهم كد دكمه submit


<input class="btn" type="submit" name="delete" value="حذف مسابقات تعريف شده" onclick="confirmation()" />

امیـرحسین
چهارشنبه 25 شهریور 1388, 16:53 عصر
دوست عزیز محیط اجرای جاوااسکریپت و PHP متفاوته.
موقعی که PHP داره اجرا میشه اون شرط کانفرم رو بصورت متن چاپ می کنه!
و چون اون تیکه کد PHP خودش چیزی چاپ نمی کنه، خروجی کدهای جاوااسکریپت شما، توی شزط کانفرم خالی هست.
شما باید وقتی کانفرم TRUE بود، صفحه رو با کوئری مناسب رفرش کنید یا از آژاکس استفاده کنید.کدهای جاوااسکریپت رو اینجوری می تونید تغییر بدید:
function confirmation() {
var answer = confirm("آيا از حذف مسابقه انتخاب شده مطمئن هستيد؟")
if (answer)
document.location.href = document.location.href + '&del_me=RACE ID';
else
return false;
}

و کدهای PHP رو براساس کوئری جدید که GET هست در صفحه قرار بدید تا اجرا بشه:
if (!empty($_GET['del_me'])) {
$sub=$_GET['del_me'];
$count=count($sub);
for($i=0;$i<$count;$i++)
{
$sql = "DELETE FROM race WHERE id_race='$sub[$i]'";
mysql_query($sql) or die(mysql_error());

$sql1 = "DELETE FROM race_team WHERE id_race='$sub[$i]'";
mysql_query($sql1) or die(mysql_error());
$sql2 = "DELETE FROM pishbini WHERE id_rice='$sub[$i]'";
mysql_query($sql2) or die(mysql_error());
$sql3 = "DELETE FROM info_form WHERE id_race='$sub[$i]'";
mysql_query($sql3) or die(mysql_error());
$sql3 = "DELETE FROM result WHERE id_race='$sub[$i]'";
mysql_query($sql3) or die(mysql_error());
}
}