الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خطأ في عملية Edit في مشروعي

بدأه Magician89 في 20 فبراير 2008 · 12 رد · 1,237 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني الكرام انا في عندي اخطاء في عملية Edit

في لوحة التحكم

سأريكم الكود !1

أولا كود العرض من قاعدة البيانات :

<?

include("../config.php");

$rowsPerPage = 7;
$pageNum = 1;

if(isset($_GET['page']))
{
	$pageNum = $_GET['page'];
}

$offset = ($pageNum - 1) * $rowsPerPage;


$SQL_Select_catag=mysql_query("select * from catagory  LIMIT $offset, $rowsPerPage");
echo '<center><a href="add_catagory.php">Add Catagory</a></center><br>';
echo '<table width="300" border="1" align="center" style="border: 1px dotted #000000" cellspacing="0" cellpadding="0" >';
	while (list($Id,$cat_name)=mysql_fetch_array($SQL_Select_catag))
	{


	echo "<tr><td>";
	echo $id;
	echo "</td><td>";
	echo $cat_name;
	echo "</td><td>";
	echo '<a href= "edit_cat.php?cat_IDno=';
	echo $Id;
	echo '">Edit</a>';
	echo "</td><td>";
	echo '<a href= "delete_cat.php?cat_IDno=';
	echo $Id;
	echo '">Delete</a>';
	echo "</td></tr>";
	}
	echo "</table>";
echo '<center><a href="add_catagory.php">Add Catagory</a></center>';	
echo "<center><br>";
$query   = "SELECT COUNT(Id) AS numrows FROM catagory";
$result  = mysql_query($query);
$row	 = mysql_fetch_array($result, MYSQL_ASSOC);

$numrowsy = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrowsy/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];

// creating 'previous' and 'next' link
// plus 'first page' and 'last page' link

// print 'previous' link only if we're not
// on page one

if ($pageNum > 1)
{
	$page = $pageNum - 1;
	$prev = " <a href=\"$self?page=$page\">[Prev]</a> ";


} 
else
{
	$prev  = ' [Prev] ';	   // we're on page one, don't enable 'previous' link

}

// print 'next' link only if we're not
// on the last page

if ($pageNum < $maxPage)
{
	$page = $pageNum + 1;
	$next = " <a href=\"$self?page=$page\">[Next]</a> ";


} 
else
{
	$next = ' [Next] ';	  // we're on the last page, don't enable 'next' link

}

// print the page navigation link
echo $first . $prev . " Showing page <strong>$pageNum</strong> of <strong>$maxPage</strong> pages " . $next . $last;




echo "</center>";
?>

كود ملف Edit :

<?

include("../config.php");



if ($cat_new_name != null )
{
$sql_update_catag=mysql_query("update catagory set cat_name='$cat_new_name' where Id='$cat_IDno'");

if ($sql_update_catag == true)
{
  echo "Updated Done";
}

else 
{
  echo "Not Done";
}

}
else 
{
$SQL_Statment_catag=mysql_query("select *  from catagory where Id=$cat_IDno");
$SQL_Arr_catag=mysql_fetch_array($SQL_Statment_catag);
?> 

<form action="edit_cat.php" method="POST">
<center>
Catagory Name: <input type="text" name="cat_new_name" value="<? echo $SQL_Arr_catag[1]; ?>">
<br>
<input type="submit" value="Edit">
</center></form>

<?
}
?>

هنا تظهر لي الرسالة

Updated Done علما انها لا تقوم بالتعديل على قاعدة البيانات

الإتصال بقاعدة البيانات سليم ومجرب

فما بعرف ما الخطا ؟؟؟؟؟ يا ريت الحل باقرب وقت ممكن

تم تعديل هذه المشاركة بواسطة Magician89 في 20 فبراير 2008 في 12:38

#2

وين الردود أرجو المساعده العاجلة !!!!!!

#3

السلام عليكم ورحمة الله وبركاته ......

$sql_update_catag=mysql_query("update catagory set cat_name='$cat_new_name' where Id='$cat_IDno'");

ترى ما هو نوع الحقل Id ,, وإن كان رقمياً فلماذا , قمت بوضعه بين علامتي تنصيص !! :

where Id='$cat_IDno'");

قم باستبعاد علامتي التنصيص .

ولمعرفة الخطأ الذي وقعت فيه قم بإستبدال سطر التحديث بهذا السطر :

$sql_update_catag=mysql_query("update catagory set cat_name='$cat_new_name' where Id=$cat_IDno") or die(mysql_error());

في أمان الله ..

Dr.Pain

#4

وين الرد يا اخواني ؟؟؟؟؟؟؟؟؟؟؟

#5

لم أجرب السكريبت لكن في الكويري

$SQL_Statment_catag=mysql_query("select *  from catagory where Id=$cat_IDno");

لابد أن تجعل ما بعد "يساوي" و قبلها علامة '

$SQL_Statment_catag=mysql_query("select *  from catagory where Id='$cat_IDno'");

و ده في السكريبت كله :)

rasool4k.gif

[وسط]mimetex.cgi?MSN:root@root-shell.net.

[/وسط]

#6

أخي الكريم تم تعديل الكود للشكل التالي كما قلت :

<?
$cat_IDno=$_GET['cat_IDno'];

include("../config.php");
$SQL_Statment_catag=mysql_query("select *  from catagory where Id=$cat_IDno");
$SQL_Arr1=mysql_fetch_array($SQL_Statment_catag);
$iiid=$SQL_Arr1[0];
$ccname=$SQL_Arr1[1];





if ($Cname != null )
{
 $sql_update_catag=mysql_query("update catagory set cat_name='$cat_new_name' where Id=$cat_IDno") or die(mysql_error());

 if ($sql_update_catag == true)
 {
  echo "Updated Done";
 }

 else 
 {
  echo "Not Done";
 }

}
else 
{

?> 

<form action="edit_cat.php" method="POST">
<center>
<input type="hidden" name="yid" value="<? echo $iiid;?> ">
Catagory Name: <input type="text" name="Cname" id="Cname" value="<? echo $ccname; ?>">
<br>
<input type="submit" value="Edit">
</center></form>

<?
}
?>

انظر ما هي رسالة الخطأ :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
#7
$cat_IDno=$_GET['cat_IDno'];

أخي Magician89 أنت عرفت متغيرين بنفس الإسم .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#8

أخي الكريم تم تعديل اسم المتحول الى اسم جديد ولم ينجح !!!

<?
$cato=$_GET['cat_IDno'];

include("../config.php");
$SQL_Statment_catag=mysql_query("select *  from catagory where Id=$cato");
while ($SQL_Arr1=mysql_fetch_array($SQL_Statment_catag))
{
$iiid=$SQL_Arr1[0];
$ccname=$SQL_Arr1[1];
}
echo $iiid;



if ($Cname != null )
{
 $Cname_new=$_POST['Cname'];

 $sql_update_catag=mysql_query('update catagory set cat_name=("$Cname_new") where Id="$iiid"') or die(mysql_error());

 if ($sql_update_catag == true)
 {
  echo "Updated Done";
 }

 else 
 {
  echo "Not Done";
 }

}
else 
{

?> 

<form action="edit_cat.php" method="POST">
<center>
<input type="hidden" name="yid" value="<?echo $iiid;?>">
Catagory Name: <input type="text" name="Cname" id="Cname" value="<?echo $ccname;?>">
<br>
<input type="submit" value="Edit">
</center></form>

<?
}
?>

يقوم بطباعة Update Done

ولم يعدل اي شيئ !!!!! ما الحل ؟؟؟؟

#9

يا أخي

select *  from catagory where Id=$cato

إجعله

select *  from catagory where Id='$cato'
rasool4k.gif

[وسط]mimetex.cgi?MSN:root@root-shell.net.

[/وسط]

#10

السلام عليكم ورحمة الله وبركاته ............

أخي croconile جزاك الله خيراً لمساعدتك أخوتك في الله ,, ولكن لي تعقيب بسيط :

select *  from catagory where Id='$cato'

الحقل id عبارة عن حقل رقمي لا يجوز وضعه بين علامتي تنصيص !!

الاولى أن تكون العبارة بالشكل التالي :

select *  from catagory where Id=$cato

أخي هل تفضلت بوضع بنية حقول الجدول الذي تحاول التعديل فيه وكذا كود صفحة التعديل لكي نرى من أين الخطأ !!

في امان الله .. وجمعتكم مباركة .. !!

Dr.Pain

#11

لا للأسف لم أجرب أخي الحبيب لكن إن شاء الله سأفعل ذلك غداً.

أما بخصوص علامات التنصيص فهي أساسية , جرب أن تضع الـquery بلا علامات تنصيص في الـphpmyadmin ستجد خطأ .

rasool4k.gif

[وسط]mimetex.cgi?MSN:root@root-shell.net.

[/وسط]

#12
اقتباس
select * from catagory where Id=$cato

أما بخصوص علامات التنصيص فهي أساسية , جرب أن تضع الـquery بلا علامات تنصيص في الـphpmyadmin ستجد خطأ .

كما قال الأخ croconile

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#13

اخواني الكرام انتو التهيتو بالإستعلام علما بأن الأستعلام شغال !!!!!!!!!!!!!!!!

الخطا انو ما بيعمل تحديث !!!!!

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…