السلام عليكم ورحمة الله وبركاته
إكاملا لسلسلة الدروس التي عملتها بخصوص كيفية عمل سكربت وكان آخر الدروس
هو الجزء الخامس :
كيف تعمل سكربت (إضافة موضوع)
وهذا الشرح خاص بإنشاء ملف لعرض الأقسام .
الآن بمجلد السكربت أنشيء ملف جديد بإسم index.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>";
?>
شرح الكود :
السطر الأول
<?
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'>";
?>
وهو وسوم html عاديه مع تضمين ملف الاستايل style.css الخاص بالخطوط
والانماط الخاصه بالسكربت .
ثم ستجد متغير إسمه $namesite بين وسمي title أي عنوان الصفحة العلوي
والمتغير هو إسم موقعك .
ثم الكود التالي :
<?
include('header.htm');
?>
[color:0f2c=FA0309]لاحظ اننا ضمنا صفحة وإسمها
header.htm ويجب عليك إنشاء صفحة بنفس المسمى بداخل السكربت .
ثم الكود التالي :
<?
echo "<br>";
?>
وهو يعني سطر جديد .
==============================
ثم نضيف الاستعلام التالي تحت الكود السابق مباشرة :
<?
$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>";
}
?>
ولاحظ وجود القوس } في نهايته وهو خاص بإغلاق الشرط .
==============================
ثم نكتب الكود التالي تحت مباشرة :
<?
include('footer.htm');
echo "</body>
</html>";
?>
قمنا بتضمين ملف footer.htm وهو خاص بذيل الصفحة وبذلك يجب عليك انشاءه
بنفس مجلد السكربت وبنفس المسمى .
ثم آخر شيء هو إغلاق وسوم الصفحة .
هذا وصلى الله وسلم على سيدنا محمد عليه افضل اصلاة والسلام .
وان شاء الله سيتم شرح ملف section.php الخاص بعرض عناوين القصص حسب القسم .
والله ولي التوفيق
تاريخ الإضافة : | 20/3/2008 |
زيارات الصفحة : | 3723 |
رابط ذو صلة : | http://www.nwahy.com |
كاتب الموضوع : | موقع نواحي |