ثم نضيف الاستعلام التالي تحت الكود السابق مباشرة :
- اقتباس :
- <?
$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>";
}
?>
شرح الكود :
لاحظ الاستعلام التالي ويحتوي على شرط !!
<?
- اقتباس :
- $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 .
ثم استخدمنا دالة حساب عدد السجلات بالجدول وهي :
- اقتباس :
- <?
$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 = "";
}
?>
بحيث ان المتغير ++$looptable يزداد 1 لكل مره .
ثم قمنا بعمل شرط بحيث اذا تم عرض ثلاث أعمده بالجدول سيتم عرض البقيه بسطر جديد وهكذا الى ان ينتهي من جلب جميع السجلات .
ثم كتبنا الاستعلام التالي :
- اقتباس :
- <?
$storys = mysql_num_rows(mysql_query("select id from story where cat='$Row[id]'"));
?>
وهو خاص بعدد القصص التي داخل كل قسم بحيث جعلنا شرط الاستعلام أن الحقل cat الموجود في جدول القصص يساوي رقم حقل 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";
}
?>
وهو خاص بحقول الجدول الذي عملناه بالفرونت البيج وجعلنا عرض الحقل الواحد يساوي 33% لأننا قمنا بتحديد عرض الحقول بالسطر الواحد يساوي 3 حقول وأما اذا كنا نريد ان نعرض 4 حقول فلابد عليك تغيير الرقم 3 الى 4 ثم تغيير عرض الحقل الى 25% يعني طريقه حسابيه بالنسبة المئويه حيث ان النسبه كامله 100% وسيتم تقسيمها على العدد تبع عرض الحقول بالسطر الواحد .
ثم ستجد هناك اسم ملف جديد وهو :
- اقتباس :
- <?
section.php?id=$Row[id]
?>
وهذا الملف خاص بعرض الأقسام سنتكلم عنه لاحقا ان شاء الله ولو تلاحظ ان هنا متغير id يحمل القيمة $Row[id] وهي رقم القسم الخاص به بجدول قاعدة البيانات .
ثم اخذنا سطر جديد ثم كتبنا بعده المتغير $storys وهو خاص بعدد القصص بالقسم .
ثم ستلاحظ وجود المتغير $tr وهو خاص بالقفز سطر جديد لحقول الجدول الذي عملناه بالفرونت بيج كلما تعدى عدد الحقول بالسطر الواحد عن العدد الذي قمنا بتحديده سابقا وهو 3 .
ثم أقفلها دالة التكرار بالقوس المعكوف تبع الإغلاق :
- اقتباس :
- <?
}
?>
ثم نكتب نهاية وسوم الجدول اللي عملناه بالفرونت بيج
- اقتباس :
- <?
echo "</table>
</center>
</div>";
}
?>
ولاحظ وجود القوس } في نهايته وهو خاص بإغلاق الشرط .