الويب المصرى الباشا صاحب المنتدى
عدد المساهمات : 434 تاريخ التسجيل : 14/11/2010 العمر : 37
| موضوع: الدرس السابع السبت نوفمبر 20, 2010 11:17 pm | |
| [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] تكلمنا في الجزء السادس عن كيفية عرض الأقسام وفي شرحنا هذا سنتكلم عن كيفية عرض الأقسام الفرعيه وعناوين القصص .
قم بإنشاء ملف جديد بمجلد السكربت بإسم section.php ضع به الكود التالي : PHP كود :
<? include('config.php');
$id = intval($_GET["id"]); $Sql2 = mysql_query("select id,name from story_cat where id=$id"); $Row2 = @mysql_fetch_array($Sql2); if (!$Row2) { ECHO "<meta http-equiv='Refresh' content='1;URL=index.php'>"; exit; } ?>
السطر الأول هو تضمين ملف الاتصال بقاعدة البيانات . السطر التالي : PHP كود :
<? $id = intval($_GET["id"]); ?>
وهو لإستقبال المتغيرات من خلال الرابط الذي بالمتصفح عن طريقة المصفوفة $_GET وقمنا بتمرير المتغير على الداله intval وهي خاص بلفترة المتغير وجعله لا يقبل الا رقم فقط .
ثم قمنا بكتابة استعلام يفيد بعرض القسم حسب id=$id واذا لايوجد رقم هذا القسم وعنا له شرط بحيث اذا لم يوجد يتم تحويل المتصفح للصفحة الرئيسيه ثم يتم ايقاف الصفحة section.php .
ثم نكتب اسفل الكود السابق الكود التالي : PHP كود :
<? echo "<html dir='rtl'>
<head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1256'> <link rel='stylesheet' href='style.css' type='text/css'> <title>$Row2[name]</title> </head> <body leftmargin='0' topmargin='0'>";
include('header.htm');
echo "<br>"; ?>
الكود هو وسوم html خاصه بالهيدر ولاحظ ان عنوان title الصفحة سيكون $Row2[name] يعني إسم القسم .
ثم ثم قمنا بتضمين الملف header.htm تبع الهيدر . PHP كود :
<? $Sql = mysql_query("SELECT * FROM story_cat where sub=$id order by order_cat"); $cats = mysql_num_rows($Sql);
if($cats == 0){ echo ""; }else{
echo "<div align='center'> <center> <table border='1' cellpadding='3' cellspacing='3' bordercolor='#E7E49F' width='90%' id='AutoNumber2'>";
$looptable = '0'; while ($Row = @mysql_fetch_array($Sql)) {
++$looptable; if($looptable=="3"){ $tr = "</tr><tr>"; $looptable="0"; }else{ $tr = ""; }
$storys = mysql_num_rows(mysql_query("select id from story where cat='$Row[id]'"));
if ($Row[image]){ $imageok = "<img border='0' src='$Row[image]' alt='$Row[name]'><br>"; }else{ $imageok = ""; }
echo "<td width='33%' bgcolor='#FCFEF0'> <p align='center'><a href='section.php?id=$Row[id]'>".$imageok."$Row[name]</a><br>عدد القصص $storys</td> $tr"; }
echo "</table> </center> </div> <br>"; } ?>
هذا الاستعلام مشابه تماما للاستعلام الخاص بالملف index.php تبع الاقسام الرئيسيه ولكن هذا الاستعلام خاص بجلب بيانات الاقسام الرئيسيه بحيث وضعنا شرط أنه سيتم جلب سجلات الجدول story_cat بشرط أن يكون الحقل sub=$id وأما بالاستعلام تبع الملف index.php كان sub=0 >>> هل لاحظت الفرق !!
ثم البقيه تم شرحها بالدرس السابق .
==============================
والآن نضع الكود التالي تحت مباشرة : PHP كود :
<? $Sqlx = mysql_query("SELECT id,name,cat,date,vis,count,vote FROM story where cat=$id order by order_story"); $allstorys = mysql_num_rows($Sqlx);
if($allstorys == 0){ echo ""; }else{ ?>
اولا قمنا بتحديد الحقول التي سيتم سحبها من الجدول تبع القصص وهي : id,name,cat,date,vis,count,vote
ثم قمنا بعمل شرط للاستعلام بحيث نعرض جميع القصص بشرط cat=$id أي حقل cat تبع القصه يساوي حقل id تبع أقسام القصص . ثم قمنا بالترتيب حسب الحقل order_story .
وايضا استخدمنا دالة حساب عدد السجلات الجدول PHP كود :
<? $allstorys = mysql_num_rows($Sqlx); ?>
وقمنا بعمل شرط وهو اذا كان عدد القصص يساوي صفر فلن يعرض شيء واذا كان العدد اكثر من صفر فيتم عرض القصص جميعها حسب القسم الخاص بها .
ثم نكتب الكود التالي اسفل شيء : PHP كود :
<? echo "<div align='center'> <center> <table border='1' cellpadding='3' cellspacing='3' bordercolor='#E7E49F' width='90%' id='AutoNumber3' dir='rtl'> <tr> <td width='58%' bgcolor='#FCFEF0'><p align='center'>إسم القصة</p></td> <td width='14%' bgcolor='#FCFEF0'><p align='center'>تاريخ الإضافة</p></td> <td width='14%' bgcolor='#FCFEF0'><p align='center'>التصويت</p></td> <td width='14%' bgcolor='#FCFEF0'><p align='center'>الزيارات</p></td> </tr>"; ?>
وهو فتحنا جدول ذو 4 حقول عن طريق الفرونت بيج .
ثم انشأنا حلقة تكرار لنجلب جميع القصص التي بالقسم : PHP كود :
<? while ($Rowx = @mysql_fetch_array($Sqlx)) { $Rowx[name] = stripslashes($Rowx[name]); echo "<tr> <td width='58%'><img src='images/start.gif' alt='$Rowx[name]' border=0> <a href='show.php?id=$Rowx[id]'>$Rowx[name]</a></td> <td width='14%'><p align='center'>$Rowx[date]</p></td> <td width='14%'><p align='center'>$Rowx[vote]/$Rowx[count]</p></td> <td width='14%'><p align='center'>$Rowx[vis]</p></td> </tr>"; } ?>
ستلاحظ وجود اسم ملف جديد وهو : PHP كود :
<? show.php?id=$Rowx[id] ?>
خاص بعرض موضوع القصه سيتم شرحه لاحقا ان شاء الله .
لاحظ ان جميع ما بداخل اقواس حلقة التكرار سيتم تكراره على حسب عدد القصص الموجوده به .
ثم نغلق وسوم الجدول ثم نغلق الشرط : PHP كود :
<? echo "</table> </center> </div>"; } ?>
ثم نقوم بتضمين ملف footer.htm ونغلق بعد وسوم الصفحه كما فعنا بالشرح السابق : PHP كود :
<? include('footer.htm'); echo "</body> </html>"; ?>
إنتهينا من شرح الملف section.php ولله الحمد .
وسيتم شرح الملف الخاص برؤية القصة وموضوعها ان شاء الله .
والله ولي التوفيق
| |
|