ورود

View Full Version : یه مشکل عجیب



mohammadreza0123
چهارشنبه 02 مهر 1393, 18:44 عصر
سلام دوستان

یه مشکل عجیب دارم

یه فرم دارم که موضوعات رو نمایش میده بهم

به شکل زیر

123852

این کد فرم بالاست:





<style>
.tanzim_tbl_menu_header td
{
background:#F93;
color:#FFFFFF;
font-family:Tahoma;


text-align:right;
padding:3px;

}
.tanzim_tbl_menu_content
{
background:#FF9;
color:#000000;

}
</style>

<table cellspacing="0" align="center" style="border:1px solid #C00; margin-top:30px; margin-bottom:10px;">
<tr class="tanzim_tbl_menu_header">
<td width="80">ردیف</td>
<td width="300">عنوان منو</td>
<td width="100">جا به جایی</td>
<td width="130">مشاهده زیر منو</td>
<td width="100">عملیات</td>
</tr>

<?php
include '../config.php';
$q=mysql_query("select * from tblmenu order by position");

$i=0;
while($row=mysql_fetch_assoc($q))
{

$i++;
?>
<tr class="tanzim_tbl_menu_content">
<td style="text-align:center;"><?php echo $i; ?></td>
<td><?php echo $row["menu_name"]; ?></td>
<td style="text-align:center"><a onclick="changePosition(<?php echo $row['menu_id']?>,<?php echo $row['position']?>)"><img src="../images/3.gif"/></a></td>
<td style="text-align:center"><a onclick="zir_menu(<?php echo $row["menu_id"]; ?>)"><img src="../images/5.png" style="cursor:pointer" /></a></td>
<td style="text-align:center"><img src="../images/6.gif" title="ویرایش" />&nbsp;&nbsp;<a onclick="del_cat(<?php echo $row['menu_id']?>,<?php echo $row['position']?>)"><img src="../images/7.gif" title="حذف" style="cursor:pointer;"/></a></td>
</tr>

<?php
}
?>
</table>





من وقتی روی هر کدوم از آیکون های مربوط به ستون زیر منو کلیک میکنم زیر منوهای مربوط به اون ستون نمایش داده میشن
به صورت زیر


123853



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




if(isset($_POST["del_id"])&& isset($_POST["position"]))
{


$del="delete from tblmenu where menu_id=".$_POST['del_id'];
mysql_query($del);

$up="update tblmenu set position=position-1 where position>".$_POST["position"];
mysql_query($up);
$del_zirmenu="delete from tblzir_menu where menuid=".$_POST["del_id"];
mysql_query($del_zirmenu);
include 'tbl_menu.php';

}


این دیلیت کردن ها با ایجکس هست که فایل جاوا اسکریپتو نذاشتم




کد جدولی که زیر منو هامو نشون میده به صورت زیره:




<style>
.tanzim_tbl_menu_header td
{
background:#F93;
color:#FFFFFF;
font-family:Tahoma;


text-align:right;
padding:3px;

}
.tanzim_tbl_menu_content
{
background:#FF9;
color:#000000;

}
</style>

<table cellspacing="0" align="center" style="border:1px solid #C00; margin-top:30px; margin-bottom:10px;">
<tr class="tanzim_tbl_menu_header">
<td width="80">ردیف</td>
<td width="300">عنوان منو</td>
<td width="100">جا به جایی</td>
<td width="100">عملیات</td>
</tr>

<?php
include '../config.php';




$q=mysql_query("select * from tblzir_menu where menuid=".$_POST["menuid"]." order by position asc");
$i=0;
while($row=mysql_fetch_assoc($q))
{

$i++;
?>
<tr class="tanzim_tbl_menu_content">
<td style="text-align:center;"><?php echo $i; ?></td>
<td><?php echo $row["zir_menu_name"]; ?></td>
<td style="text-align:center"><a onclick="changePosition(<?php echo $row['zir_menu_id']?>,<?php echo $row['position']?>)"><img src="../images/3.gif"/></a></td>

<td style="text-align:center"><img src="../images/6.gif" title="ویرایش" />&nbsp;&nbsp;<a onclick="del_zirmenu(<?php echo $row['zir_menu_id']?>,<?php echo $row['position']?>)"><img src="../images/7.gif" title="حذف" style="cursor:pointer;"/></a></td>
</tr>

<?php
}
?>
</table>


بعد برای دیلیت کردن ردیفای زیر منو کد زیر رو نوشتم:



if(isset($_POST["del_zirmenu"])&&isset($_POST["position"]))
{



$del="delete from tblzir_menu where zir_menu_id=".$_POST['del_zirmenu'];
mysql_query($del);
/*$up="update tblzir_menu set position=position-1 where position>".$_POST["position"];
mysql_query($up);
echo mysql_error();*/
include 'tblzir_menu.php';
}





دیلیت میکنه اما به صورت زیر نشون میده جدول زیر منو رو که با رفرش کردن درست میشه

123854


که خط 38 اینه


while($row=mysql_fetch_assoc($q))

توجه کنید در جدول زیر منو وقتی شرط رو بر میدارم یعنی :

کد:


$q=mysql_query("select * from tblzir_menu where menuid=".$_POST["menuid"]." order by position asc");


رو به کد زیر تغییر میدم



$q=mysql_query("select * from tblzir_menu order by position asc");


دیگه مشکل قبل رو نداره و بعد خالی کردن جدول رو درست نشون میده بدون ارور اما دیگه زیر منو مخصوص یک منو خاص نیست چون شرط رو برداشتم



یکی کمک کنه بگه چه کنم مشکل رفع بشه

میدونم خیلی بد پرسیدم چون سخته پرسیدنش

mostafa272
یک شنبه 06 مهر 1393, 18:45 عصر
بهتر بود این سوال رو در قسمت php می پرسیدید. ولی خب جوابت این میشه که خطا 37 کدی که گفتی زیر منوها رو نشون میده در واقع داره نتیجه جستجو زیرمنو رو در یک آرایه میریزه ولی وقتی زیرمنویی نباشه چیزی بر گردونده نمیشه که در $row قرار بگیره خطای مسئله سازی نیست میتونی با error_reporting(0);
ارورها رو مخفی کنی.