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

استفسار عن تفعيل checkbox

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

بسم الله

ارجو من السادة الافاضل مشرفى واعضاء المنتدى مساعدتى فى اللاتى

كيفية

تفعيل وعدم التفعيل عن طريق استخدام ال check box

وايضا الحذف باستخدام checkbox

وارجو منكم لو امكن اطلاعى على مثال

مع العلم باننى مبتدى

افيدونى يرحمكم الله

وجزاكم الله خير

#2

السلام عليكم

هنا قمت بعمل 3 ملفات كمثال الملف الأول وهو install.php وذلك لوضع بيانات عشوائية لتطبيق المثال عليها ويمكن تغير بيانات الإتصال بقاعدة البيانات من ملف config .

الملف config

<?
@$con = mysql_connect('localhost','root','');

if(!$con)
{

echo'<br><font size=6 color=red><center>Can not connect to the serever</center></font>';

exit;
}

@mysql_select_db('tst') or die('<font size=6 color=red><center>There are an error during connect to the Database</center>');

?>

الملف INSTALL

<?php
//الإتصال بماى سكول
include_once('config.php');

//إنشاء الجدول
$sql='CREATE TABLE test_1(id INT unsigned not null auto_increment,test varchar(255),Primary key (id))';
$query  =  mysql_query( $sql );


//إدراج أمثلها بالقاعدة لإستدعاء البيانات
while($tst<='40')
{
$tst++;
$sql="insert into test_1 values('','Massage number".$tst."')";
$query  =  mysql_query( $sql );
}
echo'<br>تمت عملية التنصيب بنجاح<br><center><a href="index.php">الذهاب إلى المثال</a>';


?>

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

ملف ال index.php

<? //الإتصال بماى سكول
include_once('config.php');

switch($page)
{
	case'':

//عرض الجدول الذى قمنا بإضافته
$sql="select * from test_1";
$query=mysql_query($sql);

//العرض فى شكل جدول مع إضافة
//check box
// لكل سجل و إعطاء الأداة قيمة الحقل id

echo'<table width=100% border=1><form action=index.php method=get>
<input type=submit value="	 حذف	 ">
<input type="hidden" name="page" value="do">';
while($rs=mysql_fetch_array($query))
{
 echo'<tr>
		  <td>
			  <input type=checkbox name="'.$rs['id'].'" value="'.$rs['id'].'">
		  </td>
		  <td>
			  '.$rs['test'].'
		  </td>
	  </tr>';
}
echo'</table>';


	 break;
	 //صفحة تنفيذ أمر الحذف
	 case'do':
	 //ركز معايا فى هذا الكود مهم جدا

	$sql="select * from test_1";
	$qu=mysql_query($sql);

	   while($rs=mysql_fetch_array($qu))
	   {


		   $sql2="Delete from test_1 where id='".$$rs['id']."' ";
		   $qu2=mysql_query($sql2);



	   }

	 header('location:index.php');

}



?>

فى الكود السابق قمت بالتعويض عن السجلات برقم الآ دى اللى فى جدول test_1 و وهو حقل المفتاح الرئيسيى

فمثلا لو قمت بتحديد السجل رقم 1 و السجل رقم 3

فسيتم إرسال البيانات كالتالى (1=1&3=3) بإعتبار أن 1 كمتغير و ليس عدد ...

كيف يمكنك إستدعاء ذلك المتغير فى الصفحة الثانية بعد إرسال البيانات

أولا قمت باستخدام while فى عرض البيانات ثم عرض البيانات بالدالة mysql_fetch_array ثم عوضت على القيم المرسلة بـ

$$rs['id']

و انى متأسف لشرحى القصير هذا و ذلك لقصر الوقت

المثال فى المرفقات

ولله التوفيق

checkbox.rar

#3

أنا شاهدت المثال الذي كتبته

شكراً لك (القادري) يا ترى هل يوجد مثال آخر على التعديل على أكثر من صف

يعني أنا احتاج مثل عملية phpMyAdmin الي تستطيع من خلاله عمل تحديد ثم تعديل

====

هل أجد لديك هذا الكود

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

#4

أن شاء الله سأقوم بتكملة المثال السابق بحيث يقوم بالتعديل .... جارى تحديث المثال

#5

بسم الله الرحمن الرحيم

فى المثال قمت بفضل الله تعالى بتعديل المثال بحيث يقوم بعملية التعديل لعدد من السجلات فى آن واحد و كذلك إضافة عدد من السجلات فى نفس الوقت

أولاً قمت بتعديل ملف index.php إلى التالى

<? //الإتصال بماى سكول
include_once('config.php');

switch($page)
{
	case'':

//عرض الجدول الذى قمنا بإضافته
$sql="select * from test_1";
$query=mysql_query($sql);

//العرض فى شكل جدول مع إضافة
//check box
// لكل سجل و إعطاء 

الأداة قيمة الحقل id

echo'<table width=100% border=1>';


echo'
<font size=4 

color=red>';
//إن لم يتم كتابة العدد فى النص يتم الرجوع برسالة الخطأ هنا
echo $msg;

//وصلة إضافة سجلات بتحديد عدد السجلات التى سيتم إستخدامها
echo'</font>
<form action=insert.php 

method=post>
<input type=text name="nums" size=1>ضع عدد السجلات التى تريد إضافتها هنا <br>
<input type=submit 

value="	 إضافة	 ">
</form><p><br><form action=index.php method=get>
<input type=submit 

name="subm" value="	 حذف	 ">   <input type=submit name="subm" value="	 تعديل	 ">
<input type="hidden" name="page" value="do">';
while($rs=mysql_fetch_array($query))
{


echo'<tr>
		  <td>
			  <input type=checkbox name="'.$rs['id'].'" 

value="'.$rs['id'].'">
		  </td>
		  <td>
			  '.$rs['test'].'


</td>
	  </tr>';
}
echo'</table>';


	 break;
	 //صفحة تنفيذ أمر الحذف
	 case'do':
	 //ركز 

معايا فى هذا الكود مهم جدا
	 //أولا لو كان حذف
	switch($subm)
			  {
				  case"	 حذف	 ":



   $sql="select * from test_1";
	$qu=mysql_query($sql);



while($rs=mysql_fetch_array($qu))
	   {


		   $sql2="Delete from test_1 where 

id='".$$rs['id']."' ";
		   $qu2=mysql_query($sql2);



	   }



header('location:index.php');

			   break;
			   //لو كان تعديل يعطى بالسجلات التى تمت تحديدها


		  case"	 تعديل	 ":


		  $sql="select * from test_1";


$qu=mysql_query($sql);
		   echo'

			<center>| <a href=index.php>إلغاء</a> |


	 <form action=index.php method=post>
		   <input type="hidden" name="page" 

value="do">
		   <table width=50% border=1 bordercolor=#123456><tr><td>';

//عرض السجلات للتعديل 

عليها

	   while($rs=mysql_fetch_array($qu))
	   {


$emp=empty($$rs['id']);
		   if(!$emp)
		   {
		   $sql2="select * from 

test_1 where id='".$$rs['id']."' ";
		   $qu2=mysql_query($sql2);


$rs2=mysql_fetch_array($qu2);
		   echo'<center><table width=100% 

bgcolor=#ABCDEF><tr><td>';
		   //إرسال البيانات على الشكل التالى
		   //مثلاً :	   nam3=test&3=3



	   echo'<input type=text name="nam'.$rs2['id'].'" value="'.$rs2['test'].'" size=60>


	  <input type="hidden" name="'.$rs2['id'].'" value="'.$rs2['id'].'">


</td><td>
		   <input type=submit name="subm" value="	 حفظ	 "></td></tr></table>';




	}
	   }
	   echo'</td></tr></table>';

			   break;
//حفظ السجلات بعد التعديل عليها


	case"	 حفظ	 ":
		  $sql="select * from test_1";
		  $qu=mysql_query($sql);


		 while($rs=mysql_fetch_array($qu))
			   {
				 //بعد إرسال البيانات كما قلنا سابقا 

فى عملية الحذف
				 //سيتم الحصول على القيم يالداله
				 //$_post كالتالى


$sql2="update test_1 set test='".$_POST['nam'.$rs['id']]."' where id='".$$rs['id']."' ";


			 $qu2=mysql_query($sql2);
			   }


header('location:index.php');

}
}


?>

وقمت بعمل ملف آخر الذى يعمل عملية الإضافة إلى قاعدة البيانات

ملف insert.php

<?
include_once('config.php');
switch($page)
{
	case'':
	//إن لم يتم كتابة العدد فى النص يتم الرجوع برسالة الخطأ هنا


if(!$nums)
	{
		header('location:index.php?page=&msg=لم%20تكتب%20العدد%20بشكل%20صحيح');
	}


//إن تم كتابة العدد يتم حفظ تلك القيمة فى المتغير
	//$nums
	//ثم بعددها يتم إنشاء النصوص حسب العدد المضاف
echo'<form action=insert.php 

method=get>
		   <input type=hidden name=page value="save">
		   <input 

type=hidden name=nums value="'.$nums.'">
			<center>| <a href=index.php>إلغاء</a> |
<table border=1 width=50% bgcolor=ABCDEF>';
	while($nums2<=$nums-1)
	{


$nums2++;
	  echo'<tr><td><input type=text name="'.$nums2.'" size=60><b>
	  <font 

color=#123456> السجل رقم '.$nums2.' </td></tr>';
	}
echo'</table><br><input type=submit value=" 

	إضافة	 "></form>';
break;
case'save':
 while($nums2<=$nums-1)
 {

	  //وكذلك هنا نقوم بالعمليه السابقة ولكن فى هذه المرة سوف 

نضيف إلى قاعدة البيانات

		 $nums2++;
		  $chks=empty($$nums2);
		  //هنا يتم الفحص ان كان المتغير بدون قيمة لا يتم 

إضافته
		  if(!$chks)
		  {
		  $sql="insert into test_1 

values('','".$$nums2."')";
		  $qu=mysql_query($sql);
		  }


header('location:index.php?page=&msg=تمت%20عملية%20الإضافة%20بنجاح');
 }




}




?>

وإنى منتظر ردودكم و إستفساركم , يمكنكم تحميل المثال بعد التعديل بالفرقات

checkbox5_7_2007.rar

تم تعديل هذه المشاركة بواسطة القادرى في 5 يوليو 2007 في 18:24

هذا الموضوع مغلق.

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