PDA

View Full Version : مشکل در delete کردن با ارسال id



boysilent
یک شنبه 26 تیر 1390, 18:38 عصر
سلام دوستان عزیز منم مزاحم همیشگی bcmodir علیرضا صالحی

ببخشید دیگه دارم یه پروژه مینویسم پروژه پایان ترممه

یکم(زیاد)مشکل دارم که تا حالا اینجا جواب گرفتم

توی این پست به یه مشکلی خوردم که اگه ببینید و راهماییم کنید ممنون میشم


<?php
$u1=$_POST['user'];
$p1=$_POST['pass'];
$connect=mysql_connect("127.0.0.1","root","");

$sql=mysql_query("select * from jadid.user where nam='$u1' and fam='$p1'");

while($result=mysql_fetch_array($sql))
{
?>
<?php $idi=$result['id']; ?>
<table width="288" border="1">
<tr>
<td width="62"><blockquote>
<p>حذف</p>
</blockquote></td>
<td width="63"><blockquote>
<p>فامیلی</p>
</blockquote></td>
<td width="65"><blockquote>
<p>نام</p>
</blockquote></td>
<td width="70"><blockquote>
<p>ردیف</p>
</blockquote></td>
</tr>
<tr>
<td><?php print ("<a href=\"del11.php?id=".$result['id']."\">Delete</a><br/>\n"); ?></td>

<td><?php echo ($result['fam']) ?></td>
<td><?php echo ($result['nam']) ?></td>
<td><?php echo ($result['id']) ?></td>
</tr>
</table>





<?php
}
echo mysql_error()
?>



این فرم اول بود

اینم فرم دوم یا صفحه دلت


<?php


$connect=mysql_connect("127.0.0.1","root","");
$u=$_POST['user'];
$p=$_POST['pass'];
$id=$_GET['id'];
print $u1;
$sql=mysql_query("delete from jadid.user where 'id'='$id'");
print mysql_error();
if($sql)
{
print("yes");
}
else
{
print("no");
}

?>


پیغام yes صادر میشه ولی از داخل پایگاه داده پاک نمیشه

اها یادم نبود اگه بخوام با استفاده از فرستادن ای دی update کنم باید چیکار کنم با تشکر

webpower
یک شنبه 26 تیر 1390, 21:53 عصر
این رو امتحان کنید

$sql="DELETE FROM `jadid.user` WHERE id=$id";

boysilent
دوشنبه 27 تیر 1390, 09:09 صبح
نه نشد دادا

boysilent
دوشنبه 27 تیر 1390, 10:15 صبح
درست شد
مرسی اما این مشکل رو هم ببینید

boysilent
دوشنبه 27 تیر 1390, 10:17 صبح
هنگام چک کردن user و passs


نقیص کار نمیکنه



<?php
$u1=$_POST['user'];
$p1=$_POST['pass'];
$connect=mysql_connect("127.0.0.1","root","");

$sql=mysql_query("select * from jadid.user where nam='$u1' and fam='$p1'");
if(!$sql)
{
header( 'Location: log.html' ) ;
}

while($result=mysql_fetch_array($sql))
{
?>
<?php $idi=$result['id']; ?>
<table width="288" border="1">
<tr>
<td width="62"><blockquote>
<p>حذف</p>
</blockquote></td>
<td width="63"><blockquote>
<p>فامیلی</p>
</blockquote></td>
<td width="65"><blockquote>
<p>نام</p>
</blockquote></td>
<td width="70"><blockquote>
<p>ردیف</p>
</blockquote></td>
</tr>
<tr>
<td><?php print ("<a href=\"del11.php?id=".$result['id']."\">Delete</a><br/>\n"); ?></td>

<td><?php echo ($result['fam']) ?></td>
<td><?php echo ($result['nam']) ?></td>
<td><?php echo ($result['id']) ?></td>
</tr>
</table>





<?php
}
echo mysql_error();

?>

MMSHFE
دوشنبه 27 تیر 1390, 10:41 صبح
دوست عزیز، روشی که شما توی شرط if به کار بردین، فقط چک میکنه ببینه Query اجرا شده یا نه. برای اینکه ببینید کاربری با مشخصات تعیین شده پیدا شده یا نه، باید از تعداد سطرهای بازگشتی استفاده کنید:


if(mysql_num_rows($sql) == 0)
{
header('location: log.html');
}

موفق باشید.

boysilent
دوشنبه 27 تیر 1390, 11:10 صبح
مرسی مهندس جان من از شما زیاد تعریف شنیدم تو اینترنت

خیلی ممنون از لطفتون

ببخشید برای سیشن ها و آپدیت جداول با ایدی مقاله ای تیا توپیکی سراغ ندارید

ضمنا اموزشاتونو خوندم ولی خیلی در سطح بالا بودن با تشکر

MMSHFE
سه شنبه 28 تیر 1390, 23:00 عصر
با سلام، ضمن تشکر از نظر لطفتون، به زودی یکسری آموزشهای تخصصی PHP توی سایتم میگذارم که بطور کلی روند آموزشی اونها با مطالب قبلی فرق میکنه. امیدوارم مورد توجه و استقبال شما و سایر دوستان واقع بشه. اما درمورد آپدیت جداول با آیدی، باید بگم که کار خاصی نداره. فقط کافیه به این نکته دقت کنید که دستورات ویرایشی مثل UPDATE و DELETE در حالت عادی، روی همه رکوردها اعمال میشن، مگه اینکه با شرط WHERE اونها رو محدود کنیم، به نحوی که فقط روی یک یا چند رکوردی که مدنظر ما هست، اجرا بشن. برای مثال:

DELETE FROM `table`

همه رکوردها رو حذف میکنه ولی

DELETE FROM `table` WHERE (`id`='5')

رکوردهایی رو که فیلد id اونها مقدار 5 داره، حذف میکنه.
حالا دستور

DELETE FROM `table` WHERE (`id`='5') LIMIT 1

اولین رکوردی رو که با شرط مشخص شده تطابق داشته باشه (id اون برابر با 5 باشه) حذف میکنه. حالا اگه بخوایم از بین همه رکوردهایی که id اونها 5 هست، 3 تا رو حذف کنیم، باید بعد از LIMIT بنویسیم 3 و الی آخر. البته اگه فیلد id کلید باشه، نیازی به استفاده از LIMIT نیست چون در هر حال، با اون مقدار، فقط یک رکورد خواهیم داشت.
درمورد UPDATE و... هم به همین ترتیب عمل میکنیم.
درمورد Session هم نمیدونم کجای کار رو باهاشون مشکل دارین. لطفاً بفرمایید تا اگه بلد باشم، راهنمایی کنم.
امیدوارم خوب توضیح داده باشم. اگه باز هم سؤالی بود، در خدمتم.
موفق باشید.