الويب المصرى الباشا صاحب المنتدى
عدد المساهمات : 434 تاريخ التسجيل : 14/11/2010 العمر : 37
| موضوع: الدرس السادس السبت نوفمبر 20, 2010 11:19 pm | |
| [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] وهذا الشرح خاص بإنشاء ملف لعرض الأقسام .
الآن بمجلد السكربت أنشيء ملف جديد بإسم index.php وضع بداخله الكود التالي :
PHP كود :
<? include('config.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>$namesite</title> </head> <body leftmargin='0' topmargin='0'>";
include('header.htm');
echo "<br>"; ?>
شرح الكود :
السطر الأول PHP كود :
<? include('config.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>$namesite</title> </head> <body leftmargin='0' topmargin='0'>"; ?>
وهو وسوم html عاديه مع تضمين ملف الاستايل style.css الخاص بالخطوط والانماط الخاصه بالسكربت . ثم ستجد متغير إسمه $namesite بين وسمي title أي عنوان الصفحة العلوي والمتغير هو إسم موقعك .
ثم الكود التالي : PHP كود :
<? include('header.htm'); ?>
لاحظ اننا ضمنا صفحة وإسمها header.htm ويجب عليك إنشاء صفحة بنفس المسمى بداخل السكربت .
ثم الكود التالي : PHP كود :
<? echo "<br>"; ?>
وهو يعني سطر جديد .
==============================
ثم نضيف الاستعلام التالي تحت الكود السابق مباشرة :
PHP كود :
<? $Sql = mysql_query("SELECT * FROM story_cat where sub=0 order by order_cat"); $cats = mysql_num_rows($Sql); if($cats == 0){ echo "<div align='center'>عذرا .. لايوجد أقسام حاليا .</div>"; }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>"; } ?>
شرح الكود :
لاحظ الاستعلام التالي ويحتوي على شرط !!
PHP كود :
<? $Sql = mysql_query("SELECT * FROM story_cat where sub=0 order by order_cat"); $cats = mysql_num_rows($Sql); if($cats == 0){ echo "<div align='center'>عذرا .. لايوجد أقسام حاليا .</div>"; }else{ ?>
والشرط هو يأتي دائما بعد الكلمة where وهنا شرطنا يقول عرض جميع السجلات الموجوده بالجدول story_cat بشرط أن يكون الحقل sub يساوي صفر .
بمعنى أننا سنقوم بعرض جميع الأقسام التي التي يحمل الحقل sub تبع القسم الرقم صفر .
لأن الرقم صفر يعني ان القسم قسم رئيسي وأما اذا كان العدد غير الصفر فيكون القسم فرعي وليس رئيسيا .
ثم قمنا بترتيب الأقسام حسب الحقل order_cat .
ثم استخدمنا دالة حساب عدد السجلات بالجدول وهي : PHP كود :
<? $cats = mysql_num_rows($Sql); ?>
ثم أنشأنا بعدها شرط إذا كان عدد السجلات يساوي صفر فسيتم عرض رساله تفيد بأن لايوجد أقسام حاليا وأما اذا كان العدد أكبر من صفر فسيتم عرض الأقسام : PHP كود :
<? if($cats == 0){ echo "<div align='center'>عذرا .. لايوجد أقسام حاليا .</div>"; }else{[ ?>
ثم قمنا بفتح جدول عادي نقوم بتحريره يدويا او عن طريق الفرونت بيج وهو كالتالي :
PHP كود :
<? echo "<div align='center'> <center> <table border='1' cellpadding='3' cellspacing='3' bordercolor='#E7E49F' width='90%' id='AutoNumber2'>"; ?>
ثم كتبنا متغير : $looptable = '0'; وهو خاص في بداية عرض الأعمدة للجدول في السطر الواحد وجعلنا القيمه صفر حتى يبدأ العد من الصفر الى الأعلى .
ثم فتحنا حلقة تكرار لجلب جميع السجلات بجدول الأقسام : PHP كود :
<? while ($Row = @mysql_fetch_array($Sql)) { ?>
ثم كتبنا بداخل حلقة التكرار : PHP كود :
<? ++$looptable; if($looptable=="3"){ $tr = "</tr><tr>"; $looptable="0"; }else{ $tr = ""; } ?>
بحيث ان المتغير ++$looptable يزداد 1 لكل مره . ثم قمنا بعمل شرط بحيث اذا تم عرض ثلاث أعمده بالجدول سيتم عرض البقيه بسطر جديد وهكذا الى ان ينتهي من جلب جميع السجلات . ثم كتبنا الاستعلام التالي : PHP كود :
<? $storys = mysql_num_rows(mysql_query("select id from story where cat='$Row[id]'")); ?>
وهو خاص بعدد القصص التي داخل كل قسم بحيث جعلنا شرط الاستعلام أن الحقل cat الموجود في جدول القصص يساوي رقم حقل id الخاص بجدول أقسام القصص .
ثم كتبنا شرط آخر وهو خاص بصورة القسم : PHP كود :
<? if ($Row[image]){ $imageok = "<img border='0' src='$Row[image]' alt='$Row[name]'><br>"; }else{ $imageok = ""; } ?>
بحيث اذا كانت الصوره موجوده ستعرض واذا ليست موجوده لن يتم عرض اي صوره .
ثم نكتب الكود التالي : PHP كود :
<? echo "<td width='33%' bgcolor='#FCFEF0'> <p align='center'><a href='section.php?id=$Row[id]'>".$imageok."$Row[name]</a><br>عدد القصص $storys</td> $tr"; } ?>
وهو خاص بحقول الجدول الذي عملناه بالفرونت البيج وجعلنا عرض الحقل الواحد يساوي 33% لأننا قمنا بتحديد عرض الحقول بالسطر الواحد يساوي 3 حقول وأما اذا كنا نريد ان نعرض 4 حقول فلابد عليك تغيير الرقم 3 الى 4 ثم تغيير عرض الحقل الى 25% يعني طريقه حسابيه بالنسبة المئويه حيث ان النسبه كامله 100% وسيتم تقسيمها على العدد تبع عرض الحقول بالسطر الواحد .
ثم ستجد هناك اسم ملف جديد وهو : PHP كود :
<? section.php?id=$Row[id] ?>
وهذا الملف خاص بعرض الأقسام سنتكلم عنه لاحقا ان شاء الله ولو تلاحظ ان هنا متغير id يحمل القيمة $Row[id] وهي رقم القسم الخاص به بجدول قاعدة البيانات .
ثم اخذنا سطر جديد ثم كتبنا بعده المتغير $storys وهو خاص بعدد القصص بالقسم .
ثم ستلاحظ وجود المتغير $tr وهو خاص بالقفز سطر جديد لحقول الجدول الذي عملناه بالفرونت بيج كلما تعدى عدد الحقول بالسطر الواحد عن العدد الذي قمنا بتحديده سابقا وهو 3 .
ثم أقفلها دالة التكرار بالقوس المعكوف تبع الإغلاق : PHP كود :
<? } ?>
ثم نكتب نهاية وسوم الجدول اللي عملناه بالفرونت بيج PHP كود :
<? echo "</table> </center> </div>"; } ?>
ولاحظ وجود القوس } في نهايته وهو خاص بإغلاق الشرط .
==============================
ثم نكتب الكود التالي تحت مباشرة : PHP كود :
<? include('footer.htm'); echo "</body> </html>"; ?>
قمنا بتضمين ملف footer.htm وهو خاص بذيل الصفحة وبذلك يجب عليك انشاءه بنفس مجلد السكربت وبنفس المسمى .
ثم آخر شيء هو إغلاق وسوم الصفحة .
هذا وصلى الله وسلم على سيدنا محمد عليه افضل اصلاة والسلام .
وان شاء الله سيتم شرح ملف section.php الخاص بعرض عناوين القصص حسب القسم .
والله ولي التوفيق
| |
|