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

مشكلة عدم تطبيق المطلوب في قاعدة البيانات

بدأه حجازي في 10 ديسمبر 2011 · 4 رد · 434 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي قاعدة بيانات وبها جدول باسم cat

وبها حقول من ضمنها حقل catid وحقل counter

طبعا حقل catid يحمل قيمة 1 اما بالنسبة للحقل الاخر counter عبارة عن عداد زوار

عملت صفحة بها استعلام لعدد الزوار وتوجد بها خيار التعديل بحيث اسمح بتعديل عدد الزوار

كل شيء 100 % لكن المشكلة بأنه لا يغير اي شيء

مرفق لكم الكود :

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />

<title>Cpanel</title>



<?php

include "config.php";




$id = $_POST['catid'];

$n = $_POST['counter'];




	if (isset($_POST['edit']) and $_POST['edit'] == 'cat') {

	    $update = mysql_query("UPDATE cat SET counter='$n' WHERE catid='$id'") or die ("Not updated");

	    if (isset($update)) {

	        echo "<h2>UPDATE IS DONE!</h2>";

	    }



	}





	/////////////

	$query = mysql_query("SELECT * FROM cat WHERE catid='".$gid."'") or die ("mysql_error()");

	$row = mysql_fetch_assoc($query);

	if ($_REQUEST['do'] == 'edit') {

	echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>

	تغيير عدد الزيارات إلى : <input type='text' name='counter' value='".$row['counter']."' />

	<input type='submit' value='save edit' />

	<input type='hidden' name='catid' value='".$gid."' />

	<input type='hidden' name='edit' value='cat' />

	</form>";

	}





	//////

	$query = "SELECT * FROM cat where catid='1' ";

	$doit = mysql_query($query) OR DIE ("mysql error". mysql_error());





	echo "<table width='60%' border='1' cellpading='5'>

	<tr>

	    <td>رقم</td>

	    <td>عدد الزيارات</td>

	    <td>خيارات التعديل</td>

	</tr>";



	while ($row = mysql_fetch_assoc($doit)) {

	echo "

	<tr>


	    <td>".$row['counter']."</td>

	    <td>

	    <a href='show.php?do=edit&id=".$row['id']."'>تعديل</a>

	    - <a href='show.php?delete=de&id=".$row['id']."'>حذف</a>

	    </td>

	</tr>";

	}

	echo "</table>";



	mysql_free_result($doit);

	mysql_close ($con);



	?>

ما هي المشكلة التي تكون ؟

تم تعديل هذه المشاركة بواسطة حجازي في 10 ديسمبر 2011 في 22:26

#2

عنوان خاطئ يا صديقي هذا سؤال مش نقاش ,

اعتقد الاخ فيصل الحربي هيقول كدة :-) ..

1

@My Twitter

[spacing]

EGYPT

[/spacing]

#3

يعني المشكلة الان لدي في العنوان اللي انا كاتبه

إذا غيرت العنوان إلى سؤال بتنحل المشكلة ان شاء الله؟

تحياتي لمرورك

تم تعديل هذه المشاركة بواسطة حجازي في 11 ديسمبر 2011 في 09:26

−1
#4

السلام عليكم

قمت بتغيير الكود كثيرا، اعتمدت على متغير action لتتبع مختلف العمليات

وتركت مكان عملية الحذف فارغة

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Visit Counter</title>
</head>
<body>

<?php

include "config.php";

$action = '';

if (isset($_GET['action']))
	$action = $_GET['action'];

switch($action) {
	case 'edit':
		// load the Form
		if (isset($_GET['id'])) {
			$id = $_GET['id'];

			$query = mysql_query("SELECT * FROM cat WHERE catid='".$id."'") or die ("mysql_error()");
			$row = mysql_fetch_assoc($query);

			echo '<form action="'.$_SERVER['PHP_SELF'].'" method="get">
			تغيير عدد الزيارات إلى : <input type="text" name="new_counter" value="'.$row['counter'].'" />
			<input type="submit" value="تحديث" />
			<input type="hidden" name="catid" value="'.$id.'" />
			<input type="hidden" name="action" value="update" />
			</form>';
		}
		break;

	case 'update':
		// update the counter from the Form
		$n = $_GET['new_counter'];
		$id = $_GET['catid'];
		$update = mysql_query("UPDATE cat SET counter='$n' WHERE catid='$id'") or die ("Not updated");

		if (isset($update))
			echo "<h2>UPDATE IS DONE :-)</h2>";

		break;

	case 'delete':
		// reset the counter to 0
		break;		
}


// Load all table values
$query = "SELECT * FROM cat where catid='1' ";
$result = mysql_query($query) OR DIE ("mysql error". mysql_error());
echo '<table width="60%" border="1" cellpading="5"><tr><td>رقم</td><td>عدد الزيارات</td><td>خيارات التعديل</td></tr>';

while ($row = mysql_fetch_assoc($result)) {
	echo '<tr><td>'.$row['counter'].'</td><td><a href="'.$_SERVER['PHP_SELF'].'?action=edit&id='.$row['catid'].'">تعديل</a> - <a href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$row['catid'].'">حذف</a></td></tr>';
}

echo '</table>';


// free ressources
mysql_free_result($result);
mysql_close ($con);
?>

</body>
</html>
#5

عزيزي اشكرك

لا توجد به مشكلة

ارجو مراجعته

على العموم تم اكتشاف الخطأ وحلها

الخطأ كان في هذا السطر

            <a href='show.php?do=edit&id=".$row['id']."'>تعديل</a>
1

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

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

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

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

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