التواصل المباشر مع الادارة والاعضاء القدامى من خلال قناة التلغرام


قديم 07-20-2009, 12:53 AM   رقم المشاركة : 1 (permalink)
معلومات العضو
SoLiTair4Ever
::. Moderators .::
 
الصورة الرمزية SoLiTair4Ever
 

 

 
إحصائية العضو









SoLiTair4Ever غير متواجد حالياً

إرسال رسالة عبر MSN إلى SoLiTair4Ever إرسال رسالة عبر Skype إلى SoLiTair4Ever

 

 

إحصائية الترشيح

عدد النقاط : 14
SoLiTair4Ever is on a distinguished road

.......... الدرس الحادي والعشرون(إنشاء دليل المواقع)


سوف نبدأ بأخذ فكرة عن البرنامج الذي سوف أشرح عنه وهو عبارة عن دليل مواقع بسيط جداً جداً يعتمد علي قواعد البيانات.

بالطبع لا يوجد فيه تقسيمات والسبب لأننا سوف نضطر إلي وضع أو خلق أكثر من جدول (Table) في قواعد البيانات وسوف نضطر إلي وضع علاقات بينهم

وهذا حالياً يعقد الموضوع فسأكتفي الآن بجدول واحد (one table) وسوف اشرح إذا اتسع لدي الوقت الكثير عن (sql) عامة وعن العلاقات (Relationstips) لأنها مثيرة أيضاً جداً



نبدأ في الخطوة الأولى وهي قاعدة البيانات الخاصة بدليل الموقع الذي لدينا , فالبيانات والمعلومات التي غالباً ما يهتم بها دليل الموقع هي عنوان الموقع واسم الموقع والبريد الخاص بالموقع



هذا هو الكود الخاص بإنشاء قاعدة البيانات الخاصة بدليل الموقع

CREATE TABLE dalal (
id int not null auto_increment,
sitename varchar(100),
add_date date,
email varchar(100),
site_url varchar(100),
description text,
primary key (id));

هنا سوف يخزن في قواعد البيانات المعلومات التالية :

id وهي المرشح الأساسي والفريد الذي يتُعرف علي الجدول بواسطته .

sitename وهي اسم الموقع وهي من نوع char

add_date تاريخ إضافة الموقع وهو من نوع date

email البريد الإلكتروني وهو من نوع char وطولها نفس طول اسم الموقع (100)

site_url وهو عنوان الموقع أيضاً من نوع char



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

id هو عبارة عن المرشح الأساسي لهذا الجدول (primary key)



وتلخص في آخر سطر من الجدول وجود:

primary key (id)

ربما ترجمة المصطلحات العلمية وخاصةً في الكمبيوتر تضر أكثر مما تنفع وهذا سبب وجيه لي في كتابتي السكربت مهما كان بلغة إنجليزية ومن ثم تعربيها

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



ربما ترى id من نوع عدد صحيح ( int ) لكن ربما يصعب عليك الذي بجانبه وهو ( not null ) وهي تعني بعدم السماح لهذا الحقل أن يكون بدون قيمة

not null تعني بكل وضوح ربما يسمح بقيمة فارغة ربما تفكر في الصفر فهذا غير صحيح .

وترى أيضاً هذه العبارة بجانب not null وهي ( auto_increment ) وهي تعني بكل وضوح الإضافة التلقائية أو الأتوماتيكية ودائماً ما يبدأ بالقيمة ( 1 )

وهذا يعني مع كل إضافة موقع سوف تزيد قيمة ( id ) وهي تبدأ من ( 1 )



config.php

وهو عبارة عن ملف التوجية الذي يحتوي معلومات الموقع وهي المعلومات التالية:

<?

//this moudel config

$dbname = "links";

$dbuname = "root";

$dbpws = "";

$dbhost = "localhost";

?>

لا يحتاج إلي شرح لأنه واضح فالذي جرب أن يركب أي برنامج php يعتمد علي قواعد البيانات فالأكيد راح يعدل في ملف مشابه له أو نفسه

ومع ذلك سنشرحه :

الآن نبدأ في add.php وهذا هو :

<html>

<head>

<style type="text/css">

body {font-family:verdana,verdana; font-size:10pt}

TD {font-family:verdana,verdana; font-size:10pt}

#header {color:white; font-weight:bold; font-family:verdana,verdana}

A {color:navy; text-decoration:underline}

A:hover {color:red}

A:visit {color:navy}

</style><title>Site Insertion</title></head>

<?

if ($action == 'addsite')

{

include("config.php");

mysql_pconnect($dbhost, $dbuname, $dbpw);

@mysql_select_db("$dbname") or die ("Unable to select database");

mysql_query("insert into dalal values ('','$name','','$email','$siteurl','$des')");

mysql_close();

echo "Thank you for add site ";

}

?>

<body bgcolor=white>

<form method="POST" action="add.php?action=addsite">

<p>SiteName <input type="text" name="name" size="40" style="border-style: double; border-color: #000080"></p>

<p>Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="email" size="40" style="border-style: double; border-color: #000080"></p>

<p>SiteUrl&nbsp;&nbsp;&nbsp; <input type="text" name="siteurl" size="40" style="border-style: double; border-color: #000080" value="http://"></p>

<p>description<textarea rows="5" name="des" cols="33" style="border-style: double; border-color: #000080"></textarea></p>

<p align="center"><input type="submit" value="Submit" name="B1" style="border-style: double; border-color: #000080"><input type="reset" value="Reset" name="B2" style="border-style: double; border-color: #000080"></p>

</form>

<br>

<a href="show.php"><b>View</b></a>

<br>

</body>

</html>

من رؤيتك له تلاحظ أنه عبارة عن html و php لكن كود php أكثر



بالنسبة html فهي بسيطة بإمكانك فهمها وهي عبارة عن حقول تطلب من المستخدم إدخال معلومات الموقع سوف أبدأ في شرح كود php

فتلاحظ بدايته ونهايته بهذين الوسمين <? و ?>



وبعدها يأتي شرط التحقق وهو

if ($action == 'addsite')

فهذا يعني التحقق هل من إضافة جديدة علي الحقول الخاصة بعملومات الموقع وتلاحظ أن التحقق من هذا الشرط بهذه القيمة ('addsite') بين وسمين اقتباس وحيدة ربما يكون هناك بعض التساؤل قليلاً عليه لكن لو تلاحظ في كود html في form وضعت الانتقال بعد إضافة المعلومات إلي (add.php?addsite) هنا

<form method="POST" action="add.php?action=addsite">

<p>SiteName <input type="text" name="name" size="40" style="border-style: double; border-color: #000080"></p>

<p>Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="email" size="40" style="border-style: double; border-color: #000080"></p>

<p>SiteUrl&nbsp;&nbsp;&nbsp; <input type="text" name="siteurl" size="40" style="border-style: double; border-color: #000080" value="http://"></p>

<p>description<textarea rows="5" name="des" cols="33" style="border-style: double; border-color: #000080"></textarea></p>

<p align="center"><input type="submit" value="Submit" name="B1" style="border-style: double; border-color: #000080"><input type="reset" value="Reset" name="B2" style="border-style: double; border-color: #000080"></p>

</form>



هذا هو كود الفورم الخاص بإدخال معلومات الموقع فإذا لاحظه في بدايته هنا

<form method="POST" action="add.php?action=addsite">

وضعت الإرسال بالـ ( post ) وقمت بوضع قيمة ( action ) الصفحة (add.php?addsite )

هذا يعني أن قيمة (action) في حال ضغط submit ستكون ما هو مكتوب بعد علامة الاستفهام ( ؟ ) بعد اسم الصفحه وهي (add.php?addsite)

أتمنى أنك فهمت المقصود

بعد ذلك إذا تحقق الشرط ووجد من أرسل سوف ينفذ الأوامر والأولى منها

include("config.php");

وأمر include يعني استجلاب هذا الملف وقيم المتغيرات الموجودة به

بعد هذا الأمر طلبت الاتصال بقواعد البيانات لكي يتم تجهيز الجدول للإضافة

وهو هنا

mysql_pconnect($dbhost, $dbuname, $dbpw);

@mysql_select_db("$dbname") or die ("Unable to select database");

الدالة mysql_pconnect تطلب الاتصال بخادم قاعدة البيانات علي أساس المعلومات الموجودة بها

وهنا نحن استعنا بعد الله بالمتغيرات الموجودة في ملف config.php

وربما هذا يوضح لنا أكثر فائدة الدالة include

ربما لاحظت في طلب الاتصال في الدالة mysql_pconccet في السطر الثاني بعدها هذا

@mysql_select_db("$dbname") or die ("Unable to select database");

هنا في الدالة mysql_select_db وضعنا قيمة المتغير dbname وهو اسم قاعدة البيانات

فهذه الدالة تقوم بتحديد اسم قاعدة البيانات المراد الاتصال بها وهذا ربما يوضح استخدام علامة @

لكي يعمل كل شيء بنفس الوقت

بعد هذا نلاحظ السطر التالي :

mysql_query("insert into dalal values ('','$name','','$email','$siteurl','$des')");

قمنا في هذا السطر بتنفيذ الدالة mysql_query وهذه الدالة تقوم باختصار بتنفيذ استعلامات (sql) وفي هذا السطر استخدمنا أمر الاستعلام المراد تنفيذه بواسطة الدالة mysql_query هو (Insert)

هذا الأمر أو الدالة في sql تقوم بإضافة البيانات في قاعدة البيانات والصيغة أو القاعدة الثابتة له هي

INSERT INTO tablename VALUES (var and values )



INSERT INTO

هذا ثابت لدينا بعده يأتي اسم الجدول الذي نريد إضافة البيانات بداخله

وبعد ذلك تأتي كلمة VALUES (var وتفتح قوس وتيحط المتغيرات والقيم المراد إضافتها بأقواس اقتباس (" ") وتنهيه بفاصلة منقوطة ;

تلاحظ حين استخدمت mysql_query و insert لم أضع القيم بل وضعة المتغيرات التي تحمل القيم المراد تخزينة في جدول dalal ربما هذا يسهل علينا الكثير

بعد ذلك في تأتي الدالة mysql_colse وهي تعني طلب إغلاق الاتصال بخادم قاعدة البيانات

بهذا انتهيانا من ملف add.php و config.php



هنا سوف نعرف كيف نستخرج البيانات الموجودة داخل قاعدة البيانات

وهي في غاية السهولة

بدايةً سوف أضع كود show.php كاملاً واشرحه مثل سابقه

<html>

<head>

<style type="text/css">

body {font-family:verdana,verdana; font-size:10pt}

TD {font-family:verdana,verdana; font-size:10pt}

#header {color:black; font-weight:bold; font-family:verdana,verdana}

A {color:navy; text-decoration:underline}

A:hover {color:red}

A:visit {color:navy}

</style>

</head><titel><center><b>view The sites</b></center><br><center>

<a href='add.php'>Add Your Site</a></center> <hr color="#000080"></titel>



<body>

<?php

include("config.php");

mysql_pconnect($dbhost, $dbuname, $dbpw);

@mysql_select_db("$dbname") or die ("Unable to select database");



$query="select * from dalal ";



$result=mysql_query($query);



mysql_close();



/*Display Results*/



$num=mysql_numrows($result);



$i=0;

while ($i < $num) {





$sitename=mysql_result($result,$i,"sitename");

$add_date=mysql_result($result,$i,"add_date");

$email=mysql_result($result,$i,"email");

$siteurl=mysql_result($result,$i,"site_url");

$description=mysql_result($result,$i,"description" );

$id=mysql_result($result,$i,"id");

?>

<table border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="100%"><b>SiteName :</b><a href='<?echo $siteurl;?>'><i><? echo $sitename;?></i></a>

<p><b>Date Add :</b> <i> <?echo $add_date;?></i></p>

<p><b>description :</b><?echo$description;?></p>

<p><b>URL :</b><i><?echo$siteurl;?></i></p>

<p><b>Email :</b><i> <a href="mailto:<?echo$email;?>"><?echo $email;?></a></i> </p>

</td>

</tr>

</table>

<a href='edit.php?id=<?echo $id;?>'><b><b>[Edit This Site]</b></b></a>

<hr color="#000080">

<?

++$i;

}



?>

</body>

</html>







كما تلاحظ تقريباً شبيه بالملف add.php في عملية الاتصال لكن الجديد لدينا هنا

السطر الذي يلي عملية الاتصال وهو

$query="select * from dalal ";

في هذا السطر قمنا بتعريف متغير يدعى query وقمنا بوضع قيمة هذا المتغير عملية الاستعلام عن المعلومات الموجودة في الجدول dalal

أظن هذا واضح لكن دعني أشرح عمل select فهي تقوم بتحديد الحقول بداخل الجداول أو الجدول وهي دائماً تستخدم في إخراج البيانات من الجداول فتلاحظ وضعنا قيمة الحقل أو الحقول في استعلامنا هذا علامة الضرب( * ) وهي تعني تحديد جميع الحقول الموجودة وبعدها استعملنا from وهذا يعني من ودائماً يأتي بعده أسماء الجدول أو اسم الجدول الذي قمت بتحديد الحقول بداخله

ببساطة واختصاراً لهذا السطر select * from dalal

حدد جميع الحقول من جدول الدليل



هنا سوف يحدد جميع الحقول الموجودة في جدول الدليل ويقوم بتخزينها في المتغير query

بسيطة

لا تنس أن تضعها بين أقواس اقتباس مزدوجة (" ")

بعد ذالك يأتي هذا السطر

$result=mysql_query($query);

قمنا هنا أيضاً بتعريف المتغير result وقمنا بتخزين قيمة الدالة mysql_qurey وقيمة المتغير الذي استعلمت به الدالة mysql_query في المتغير result

بوضوح هنا قمنا بالاستعانة بالدالة mysql_query وانسبنا اليها قيمة المتغير query الموجود به مسبقاً قيمة الاستعلام مسبقاً في السطر الذي يسبق هذا السطر وقمنا بهذا لكي يتم فرز جميع القيم الموجودة في الجدول dalal بواسطة الدالة mysql_query

( هذا ابسط من اللي قبل )

بعد ذلك قمنا بإغلاق قاعدة البيانات بالدالة mysql_colse

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

/*Display Results*/

بعد هذا السطر قمنا بتعريف متغير يدعى num وأضفنا القيمة إليه باستخدام الدالة mysql_numrows مسندين إليه قيمة المتغير result

الدالة mysql_numrows تقوم باسترجاع ومعالجة نتيجتنا المخزنة في المتغير result وتقوم بتخزينها في المتغير num علي شكل مصفوفة

بعد ذالك قمنا بتعريف عداد يدعى i ووضعنا قيمته صفر لكي نستخدمه مع أمر التكرار while وقمنا بوضع الشرط في أمر التكرار while

$i < $num

هذا يعني إذا كان قيمة العداد i اصغر من قيمة المتغير num المتوجد بداخله جميع المعلومات فاستمر بطباعة التالي

وهي هذه السطور

$sitename=mysql_result($result,$i,"sitename");

$add_date=mysql_result($result,$i,"add_date");

$email=mysql_result($result,$i,"email");

$siteurl=mysql_result($result,$i,"site_url");

$description=mysql_result($result,$i,"description" );

$id=mysql_result($result,$i,"id");

?>

<table border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="100%"><b>SiteName :</b><a href='<?echo $siteurl;?>'><i><? echo $sitename;?></i></a>

<p><b>Date Add :</b> <i> <?echo $add_date;?></i></p>

<p><b>description :</b><?echo$description;?></p>

<p><b>URL :</b><i><?echo$siteurl;?></i></p>

<p><b>Email :</b><i> <a href="mailto:<?echo$email;?>"><?echo $email;?></a></i> </p>

</td>

</tr>

</table>

<a href='edit.php?id=<?echo $id;?>'><b><b>[Edit This Site]</b></b></a>

<hr color="#000080">

<?

++$i;

}

هنا قمنا بالكثير في أمر التكرار WHILE فسوف يطبع جميع القيم الموجودة في الجدول كما رمزت إليها في هذا السطر

$sitename=mysql_result($result,$i,"sitename");

قمنا في هذا السطر والسطور الخمسة التي تليه بتعريف العديد من المتغيرات وقمنا بتخزين قيم المعلومات بداخله باستخدام الدالة mysql_result مسندين إليه المتغيرات result و i و الحقل الذي نريد إخراج القيمة منه

واستخدمنا في هذا السطر الحقل sitename



كما استخدمنا كود html لكي ننسق ونرتب شكل ظهور المعلومات

وفي آخر سطر قبل أن ننهي عملية التكرار while بالقوس { جعلنا قيمة العداد i تزيد بمقدار واحد مع كل لفة أو بمعنى طباعة قيم من قاعدة البيانات لكي يتم توقفها أرجو أن تنتبه لهذه الأمور الصغيرة لأنها من مشاكل البرمجة المشهورة



هنا انتهينا من ملف show.php يتبقى لنا ملف edit.php وهو الملف الخاص بتعديل الموقع فربما يخطئ أحدهم في إدخال اسم أو عنوان موقعه فهنا يمكنك تعديلها حتى بعد تخزينها في قاعدة البيانات

هذا آخر ملف سوف اشرحه اليوم من ضمن مشروع دليل المواقع وربما اشرح عملية الحذف والبحث في وقت آخر

فقط ادعوا لي بالستر والهداية والوقت الكافي

سوف أضع كود edit.php كاملاً كسابقيه

<html>

<head>

<style type="text/css">

body {font-family:verdana,verdana; font-size:10pt}

TD {font-family:verdana,verdana; font-size:10pt}

TH {font-size:10pt; color:white; font-weight:bold; font-family:verdana,verdana}

A {color:navy; text-decoration:underline}

A:hover {color:red}

A:visit {color:navy}

#mySelect {font-family:verdana,arial; font-size:9pt}

</style>

</head>

<titel><center><b>Edit Site</b></center><br><center><a href='add.php'><b>Add Your Site </b></a> |

<a href='show.php'><b>View Edit database</b></center></a> <hr color="#000080"></titel>

<body>



<table border=0 cellpadding=4 cellspacing=0 width=600>

<? echo "<form method='post' action='$PHP_SELF'>"; ?>

<table border="1" width="100%" bordercolor="#000080" cellspacing="1" cellpadding>

<tr>

<td width="100%">

<p align="center">Edit The Info </td>

<?

include("config.php");

mysql_pconnect($dbhost, $dbuname, $dbpw);

@mysql_select_db("$dbname") or die ("Unable to select database");



$query1 = "select * from dalal where id = '$id'";



$result1 = mysql_db_query('links',$query1);



while($row = mysql_fetch_object($result1)) {

echo "<td align=middle>SiteNmae<br><input type=text name='name' value='$row->sitename'></td>";

echo "<td align=middle>Add Date<br><input type=text name='add_date' value='$row->add_date'></td>";

echo "<td align=middle>Email<br><input type=text name='email' value='$row->email'></td>";

echo "<td align=middle>SiteUrl<br><input type=text name='siteurl' value='$row->site_url'></td></tr>";

echo "<td align=middle>Description<br><input type=text name='desc' value='$row->description'></td></tr>";

$id = $row->id;

}

echo "</table><p>";

echo "<br><input type=hidden name='id' value='$id'>";

?>



<input type=submit name="update" value="Edit The Info">

</form>

</tr>

</table>

<?

if ($update) {

if($name == "" || $add_date == "" || $email == "" || $siteurl == "" || $desc == "" ) {

die("<b>You left one or more fields blank.</b>");

}



$query2 = "update dalal set sitename='$name', add_date='$add_date', email='$email', site_url='$siteurl', description='$desc'

where id='$id'";

mysql_db_query('links',$query2);

echo "<b>Your record has been updated</b></p>";

}

mysql_close();

?>

</body>

</html>

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

وفي هذا السطر

$query1 = "select * from dalal where id = '$id'";

هنا تلاحظ عرفنا متغير يدعى query1 وقمنا بتخزين ناتج الاستعلام بداخله فهذا ليس بجديد الجديد ما يوجد في الاستعلام فقد استخدمنا where وهي تعني بالترجمة إلي العربية "بحيث" وتعني في البرمجة وخاصةً مع أوامر sql "بشرط" أي هنا اشترطنا في استعلامنا أن تكون قيمة المتغير id مساوية لنفس القيمة الموجودة في الجدول وهي id وربما هنا يسعني أن أوضح أكثر ما هو id ولماذا عرفته وجعلته primary key

هنا إذا ضغط أحد الذين أضافوا مواقعهم بعد أن أخطأ في إضافة موقعه علي edit فسوف يعتمد علي الرقم المخزن في id وهو كما سبق وأن عرفتها في قاعدة البيانات عدد صحيح ويزداد تلقائياً فلو كان لدينا مثلاً في قاعدة البيانات أربعة مواقع فلن يجري التعرف علي الأربعة مواقع ومعلوماتهم إلا عن طريق id لأن كل موقع منهم رقم بمعنى الأول منهم 1 والأخير 4 أرجو أنك فهمته وأرجو أن تحاول تشغيل السكربت لكي تفهمه أكثر وأكثر

بعد ذلك يأتي هذا السطر

$result1 = mysql_db_query('links',$query1);

هنا أيضاً عرفنا المتغير result وخزنا بداخله قيمة استعلام الدالة

mysql_db_query وأسندنا إليها اسم قاعدة البيانات والمتغير query



الدالة mysql_db_query وهي مشابة في عملها مع mysql_query ما عدا الفرق بينهم أنك تستطيع تحديد اسم قاعدة البيانات الذي تريد الاستعلام عنه واستعملتها هنا لكي يتم إعطائنا النتائج بوضوح أكثر

بعد هذا السطر يأتي أمر التكرار while مرة أخرى في هذا الملف

while($row = mysql_fetch_object($result1))

هنا قمنا بخلق المتغير row ولا تنسى في php ليس من الضروري تعريف المتغيرات قبل استخدامها وقمنا بمساواته ( وهو الشرط الخاص بأمر التكرار while ) بالدالة mysql_fetch_object مسندين إليه قيمة المتغير result1

الدالة mysql_fetch_object وظيفته أو من ضمن الوظائف التي تقوم به أنها تقوم بانتزاع وعرض نتائج الاستعلام

فإذا تحقق شرط أمر التكرار while فستنفذ هذا الكود الطويل قليلاً

while($row = mysql_fetch_object($result1)) {

echo "<td align=middle>SiteNmae<br><input type=text name='name' value='$row->sitename'></td>";

echo "<td align=middle>Add Date<br><input type=text name='add_date' value='$row->add_date'></td>";

echo "<td align=middle>Email<br><input type=text name='email' value='$row->email'></td>";

echo "<td align=middle>SiteUrl<br><input type=text name='siteurl' value='$row->site_url'></td></tr>";

echo "<td align=middle>Description<br><input type=text name='desc' value='$row->description'></td></tr>";

$id = $row->id;

}

echo "</table><p>";

echo "<br><input type=hidden name='id' value='$id'>";

?>



<input type=submit name="update" value="Edit The Info">

</form>

</tr>

</table>

<?

if ($update) {

if($name == "" || $add_date == "" || $email == "" || $siteurl == "" || $desc == "" ) {

die("<b>You left one or more fields blank.</b>");

}



$query2 = "update dalal set sitename='$name', add_date='$add_date', email='$email', site_url='$siteurl', description='$desc'

where id='$id'";

mysql_db_query('links',$query2);

echo "<b>Your record has been updated</b></p>";

}

mysql_close();

?>

هنا قمنا بطباعة المعلومات والتحقق بواسطة شرط IF دعنا نأخذ عملية طباعة المعلومات :

echo "<td align=middle>SiteNmae<br><input type=text name='name' value='$row->sitename'></td>";

echo "<td align=middle>Add Date<br><input type=text name='add_date' value='$row->add_date'></td>";

echo "<td align=middle>Email<br><input type=text name='email' value='$row->email'></td>";

echo "<td align=middle>SiteUrl<br><input type=text name='siteurl' value='$row->site_url'></td></tr>";

echo "<td align=middle>Description<br><input type=text name='desc' value='$row->description'></td></tr>";

$id = $row->id;

هنا في أول سطر قام بطباعة كود HTML وبداخله أيضاً بعض الأشياء من PHP لا تخف فالمقصود هنا أنه قام بتخزين جميع ما يطبعه بداخل المتغير الخاص بلغةHTML فهنا مثلاً

echo "<td align=middle>SiteNmae<br><input type=text

name='name' value='$row->sitename'></td>";

قام بطباعة كود HTML وهو عبارة عن حقل الإدخال (INPUT) من نوع (TEXT) وقام بترمز إلي الحقل الموجود بقاعدة البيانات من المتغير row وتخزينة في قيمة المتغير في html (name)

والأكثر وضوحاً ما قمنا به في السطر السابق قمنا بوضع المتغير row ثم يليه اسم الحقل في الجدول وهنا اسم الحقل sitename

أظن مع تشغيلك للسكربت سوف تتضح أكثر وأكثر وهذا الذي استخدمته مع الجميع

بعد ذلك قمت بطباعة أكواد html وهي عبارة عن فورم للإدخال ويأتي بعده شرط if وهو هنا

<input type=submit name="update" value="Edit The Info">

</form>

</tr>

</table>

<?

if ($update) {

if($name == "" || $add_date == "" || $email == "" || $siteurl == "" || $desc == "" ) {

die("<b>You left one or more fields blank.</b>");

}



$query2 = "update dalal set sitename='$name', add_date='$add_date', email='$email', site_url='$siteurl', description='$desc'

where id='$id'";

mysql_db_query('links',$query2);

echo "<b>Your record has been updated</b></p>";

}

mysql_close();

?>





في الشرط نريد التأكد هل تم تعديل أحد البيانات أم لا وهو شبيه بالشرط الذي استخدمته مع ملف add.php بعده إذا كان هناك إدخال فسيقوم بعدة أوامر وأولها شرط أخر if يتأكد هل هناك من الحقول التي جعلت فارغة أم لا وهي هنا

if($name == "" || $add_date == "" || $email == "" || $siteurl == "" || $desc == "" ) {

die("<b>You left one or more fields blank.</b>");

}

إذا كان هناك حقول فارغة سوف يطبع له

You left one or more fields blank

أي أنك تركت حقل أو أكثر فارغ

بعد ذالك يأتي هذا

$query2 = "update dalal set sitename='$name', add_date='$add_date', email='$email', site_url='$siteurl', description='$desc'

where id='$id'";

mysql_db_query('links',$query2);

echo "<b>Your record has been updated</b></p>";

}

mysql_close();

قمنا هنا في أول سطر بتعريف المتغير query2 بعد ذلك خزنا بداخله قيمة أمر SQL التحديث update

أمر update يقوم بتحديث المعلومات في قواعد البيانات من تجديد وحذف

ويكتب هكذا



Update tablename Set (values



الكلمات التي تبدأ بحروف كبيتل هي الثوابت بمعنى لا يتم تغييرها والتي تبدأ بحروف سمول مثل sitename و values فهي التي يتم تغييرها

كما وضحت في الكود السابق فقد قمت بمساوات المتغيرات

name,add_date,email,site_url,description

بما يقابلها من الحقول في الجدول dalal ووضعت شرط where

أن يكون المتغير



$id=id

وفي السطر الذي يليه هذا قمت باستخدام الدالة mysql_db_query

مسنداً إليه اسم قاعدة البيانات والمتغير الذي خزن قيمة التحديث وهو query2

لكي يتم تحديث قاعدة البيانات

وفي السطر الذي يليهما استعملت الدالة mysql_colse لكي يتم إغلاق الاتصال بقاعدة البيانات

وهو آخر سطر اليوم


منقول للفائدة




hg]vs hgph]d ,hguav,k(Ykahx ]gdg hgl,hru)

   

موضوع مغلق

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس الثالث والعشرون(بعض الدوالات) SoLiTair4Ever قسم البرمجة الكائنية 1 06-07-2011 03:12 PM
[ الدرس الخامس والعشرون ] استخراج النواي بي وكشف التلغيم [ 2 ] SoLiTair4Ever حمـــاية الأجهــزة وانظمتـــها 3 06-09-2010 01:53 AM
الدرس الثاني والعشرون(إنشاء سجل الزوار) SoLiTair4Ever برمجة الويب 0 07-20-2009 12:56 AM
الدرس الحادي عشر(شرح عبارات اللغة) SoLiTair4Ever برمجة الويب 0 07-19-2009 11:05 PM


الساعة الآن 12:44 AM


[ vBspiders.Com Network ]

SEO by vBSEO 3.6.0