طلبات : دروس تطبيقية : كيف تعمل سكربت (عرض الأقسام) --- الجزء السادس

كيف تعمل سكربت (عرض الأقسام) --- الجزء السادس

السلام عليكم ورحمة الله وبركاته

إكاملا لسلسلة الدروس التي عملتها بخصوص كيفية عمل سكربت وكان آخر الدروس هو الجزء الخامس :
كيف تعمل سكربت (إضافة موضوع)


وهذا الشرح خاص بإنشاء ملف لعرض الأقسام .


الآن بمجلد السكربت أنشيء ملف جديد بإسم 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');
?>

لاحظ اننا ضمنا صفحة وإسمها 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 الخاص بعرض عناوين القصص حسب القسم .

والله ولي التوفيق
index.zip حجم الملف 808 بايت - مرات التحميل 227


الإسم
البريد الإلكتروني
رابط موقعك
كود التأكيد أكتب الكود هنا

خانات لابد من تعبأتها التي بجانبها علامة *



إستضافة وتطوير Tsmimk.com

جميع الحقوق محفوظه لموقع طلبات ويسمح بنقل المواضيع بشرط ذكر المصدر ورابطة