PDA

View Full Version : سوال: کار با چک باکس



ahmadkavand
دوشنبه 09 اردیبهشت 1392, 16:55 عصر
با سلام خدمت همه اساتید
من یه راهنمایی می خواستم

من یه جدول توی دیتا بیسم دارم که پیام های ارسال شده کاربران برای همدیگه هستند
حالا با برنامهphp اومدم تمامی پیام هایی که واسه یه کاربر اومدن روی توی حلقه while بهش نمایش دادم و کنار هر پیام یه چک باکس گذاشتم(تا اخر ) تا احیانا اگر دوست داشت حذف کنه یا نکنه

حالا موندم اگه چک بخوره چطور برنامه نویسی کنم که اون پیام حذف بشه یا برعکس

ممنون از همه دوستان

mohsen6500
دوشنبه 09 اردیبهشت 1392, 17:05 عصر
سلام
اینجا (http://www.html-form-guide.com/php-form/php-form-checkbox.html)رو ببین

ahmadkavand
سه شنبه 10 اردیبهشت 1392, 01:29 صبح
با تشکر از همه دوستان

توی کد زیر چرا قبل از تعریف متغیر از @ استفاده شده؟(@$checkbox = $_POST['checkbox'];)


<?php
$host = "localhost"; // نام هاست
$username = "root"; // Mysql نام کاربری
$password = ""; // Mysql کلمه عبور
$db_name = "db_test_mysql"; // نام پایگاه داده
$tb_name = "tb_test_mysql"; // نام جدول
@$checkbox = $_POST['checkbox'];

// اتصال به سرور و پایگاه داده
$con = mysql_connect("$host", "$username", "$password")
or die("اتصال امکان پذیر نیست");

// انتخاب پایگاه داده
mysql_select_db("$db_name")
or die("انتخاب پایگاه داده میسر نیست");

// انتحاب و محاسبه تمام ردیف های موجود
$sql = "SELECT * FROM $tb_name";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
?>
<table width="400" dir="rtl">
<tr>
<td>
<form name="form" method="post" action="">
<table width="400" border="1">
<tr>
<td><strong>ردیف</strong></td>
<td><strong>آی دی</strong></td>
<td><strong>نام</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td>
<input name="checkbox[]" type="checkbox" value="<?php echo $rows['id']; ?>" />
</td>
<td><?php echo $rows['id']; ?></td>
<td><?php echo $rows['name']; ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="center">
<input name="delete" type="submit" id="delete" value="حذف" />
</td>
</tr>
<?php
// اگر فرم ارسال شود کد زیر اجرا می شود
if($checkbox){
for($i=0;$i<$count;$i++){
@$del_id = $checkbox[$i];
$sql = "DELETE FROM $tb_name WHERE id='$del_id'";
$result = mysql_query($sql);
}
// رفرش صفحه در صورت اجرای موفقیت آمیز کد
if($result){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=checkbox.php\">";
}
}
mysql_close($con);
?>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>

mohsen6500
سه شنبه 10 اردیبهشت 1392, 01:45 صبح
واسه اینه که PHP خطا نگیره!
یا به اصطلاح خطایی نشون نده
چون در خطی که مقدار ارسال شده رو درون یک متغییر میریزه هنوز PHP چیزی رو دریافت نکرده پس اخطار میگیره
برای این کار میتوان از دستور if و همچنین isset استفاده کرد که به نظرم بهتر از @ هستش!

if(isset($_POST['checkbox']))
موفق باشید