السلام عليكم ورحمة الله وبركاته
إكاملا لسلسلة الدروس التي عملتها بخصوص كيفية عمل سكربت وكان آخر الدروس هو الجزء الخامس :
كيف تعمل سكربت (إضافة موضوع)
وهذا الشرح خاص بإنشاء ملف لعرض الأقسام .
الآن بمجلد السكربت أنشيء ملف جديد بإسم index.php وضع بداخله الكود التالي :
خاص بتضمين ملف الاتصال بقاعدة البيانات . الكود التالي :
وهو وسوم html عاديه مع تضمين ملف الاستايل style.css الخاص بالخطوط والانماط الخاصه بالسكربت .
ثم ستجد متغير إسمه $namesite بين وسمي title أي عنوان الصفحة العلوي والمتغير هو إسم موقعك . ثم الكود التالي :
وهو يعني سطر جديد .
والشرط هو يأتي دائما بعد الكلمة where وهنا شرطنا يقول عرض جميع السجلات الموجوده بالجدول story_cat بشرط أن يكون الحقل sub يساوي صفر . بمعنى أننا سنقوم بعرض جميع الأقسام التي التي يحمل الحقل sub تبع القسم الرقم صفر .
ثم أنشأنا بعدها شرط إذا كان عدد السجلات يساوي صفر فسيتم عرض رساله تفيد بأن لايوجد أقسام حاليا وأما اذا كان العدد أكبر من صفر فسيتم عرض الأقسام :
$looptable = '0';
وهو خاص في بداية عرض الأعمدة للجدول في السطر الواحد وجعلنا القيمه صفر حتى يبدأ العد من الصفر الى الأعلى . ثم فتحنا حلقة تكرار لجلب جميع السجلات بجدول الأقسام :
بحيث ان المتغير ++$looptable يزداد 1 لكل مره .
ثم قمنا بعمل شرط بحيث اذا تم عرض ثلاث أعمده بالجدول سيتم عرض البقيه بسطر جديد وهكذا الى ان ينتهي من جلب جميع السجلات .
ثم كتبنا الاستعلام التالي :
وهو خاص بعدد القصص التي داخل كل قسم بحيث جعلنا شرط الاستعلام أن الحقل cat الموجود في جدول القصص يساوي رقم حقل id الخاص بجدول أقسام القصص . ثم كتبنا شرط آخر وهو خاص بصورة القسم :
بحيث اذا كانت الصوره موجوده ستعرض واذا ليست موجوده لن يتم عرض اي صوره . ثم نكتب الكود التالي :
وهو خاص بحقول الجدول الذي عملناه بالفرونت البيج وجعلنا عرض الحقل الواحد يساوي 33% لأننا قمنا بتحديد عرض الحقول بالسطر الواحد يساوي 3 حقول وأما اذا كنا نريد ان نعرض 4 حقول فلابد عليك تغيير الرقم 3 الى 4 ثم تغيير عرض الحقل الى 25% يعني طريقه حسابيه بالنسبة المئويه حيث ان النسبه كامله 100% وسيتم تقسيمها على العدد تبع عرض الحقول بالسطر الواحد . ثم ستجد هناك اسم ملف جديد وهو :
وهذا الملف خاص بعرض الأقسام سنتكلم عنه لاحقا ان شاء الله ولو تلاحظ ان هنا متغير id يحمل القيمة $Row[id] وهي رقم القسم الخاص به بجدول قاعدة البيانات . ثم اخذنا سطر جديد ثم كتبنا بعده المتغير $storys وهو خاص بعدد القصص بالقسم . ثم ستلاحظ وجود المتغير $tr وهو خاص بالقفز سطر جديد لحقول الجدول الذي عملناه بالفرونت بيج كلما تعدى عدد الحقول بالسطر الواحد عن العدد الذي قمنا بتحديده سابقا وهو 3 . ثم أقفلها دالة التكرار بالقوس المعكوف تبع الإغلاق :
ولاحظ وجود القوس } في نهايته وهو خاص بإغلاق الشرط .
هذا وصلى الله وسلم على سيدنا محمد عليه افضل اصلاة والسلام . وان شاء الله سيتم شرح ملف section.php الخاص بعرض عناوين القصص حسب القسم . والله ولي التوفيق
كيف تعمل سكربت (إضافة موضوع)
وهذا الشرح خاص بإنشاء ملف لعرض الأقسام .
الآن بمجلد السكربت أنشيء ملف جديد بإسم 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>";
شرح الكود :
السطر الأول<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'>";
<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=FA0309]لاحظ اننا ضمنا صفحة وإسمها header.htm ويجب عليك إنشاء صفحة بنفس المسمى بداخل السكربت .[/color]ثم الكود التالي :
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>";
}
شرح الكود :
لاحظ الاستعلام التالي ويحتوي على شرط !!
$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{
$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'>عذرا .. لايوجد أقسام حاليا .</div>";
}else{[
echo "<div align='center'>
<center>
<table border='1' cellpadding='3' cellspacing='3' bordercolor='#E7E49F' width='90%' id='AutoNumber2'>";
ثم كتبنا متغير :<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 = "";
}
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 = "";
}
$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";
}
<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>";
}
</center>
</div>";
}
ولاحظ وجود القوس } في نهايته وهو خاص بإغلاق الشرط .
==============================
ثم نكتب الكود التالي تحت مباشرة :include('footer.htm');
echo "</body>
</html>";
قمنا بتضمين ملف footer.htm وهو خاص بذيل الصفحة وبذلك يجب عليك انشاءه بنفس مجلد السكربت وبنفس المسمى .
ثم آخر شيء هو إغلاق وسوم الصفحة .
echo "</body>
</html>";
هذا وصلى الله وسلم على سيدنا محمد عليه افضل اصلاة والسلام . وان شاء الله سيتم شرح ملف section.php الخاص بعرض عناوين القصص حسب القسم . والله ولي التوفيق