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

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

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


تكلمنا في الجزء السادس عن كيفية عرض الأقسام وفي شرحنا هذا سنتكلم عن كيفية عرض الأقسام الفرعيه وعناوين القصص .


قم بإنشاء ملف جديد بمجلد السكربت بإسم section.php ضع به الكود التالي :
<?
include('config.php');

$id intval($_GET["id"]);
$Sql2 mysql_query("select id,name from story_cat where id=$id");
$Row2 = @mysql_fetch_array($Sql2);
if (!
$Row2)
{
ECHO 
"<meta http-equiv='Refresh' content='1;URL=index.php'>";
exit;
}
?>

السطر الأول هو تضمين ملف الاتصال بقاعدة البيانات .
السطر التالي :
<?
$id 
intval($_GET["id"]);
?>

وهو لإستقبال المتغيرات من خلال الرابط الذي بالمتصفح عن طريقة المصفوفة $_GET وقمنا بتمرير المتغير على الداله intval وهي خاص بلفترة المتغير وجعله لا يقبل الا رقم فقط .

ثم قمنا بكتابة استعلام يفيد بعرض القسم حسب id=$id واذا لايوجد رقم هذا القسم وعنا له شرط بحيث اذا لم يوجد يتم تحويل المتصفح للصفحة الرئيسيه ثم يتم ايقاف الصفحة section.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>$Row2[name]</title>
</head>
<body leftmargin='0' topmargin='0'>"
;

include(
'header.htm');

echo 
"<br>";
?>


الكود هو وسوم html خاصه بالهيدر ولاحظ ان عنوان title الصفحة سيكون $Row2[name] يعني إسم القسم .

ثم ثم قمنا بتضمين الملف header.htm تبع الهيدر .

<?
$Sql 
mysql_query("SELECT * FROM  story_cat where sub=$id order by order_cat");
$cats mysql_num_rows($Sql);

if(
$cats == 0){
echo 
"";
}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>
<br>"
;
}
?>


هذا الاستعلام مشابه تماما للاستعلام الخاص بالملف index.php تبع الاقسام الرئيسيه ولكن هذا الاستعلام خاص بجلب بيانات الاقسام الرئيسيه بحيث وضعنا شرط أنه سيتم جلب سجلات الجدول story_cat بشرط أن يكون الحقل sub=$id وأما بالاستعلام تبع الملف index.php كان sub=0 >>> هل لاحظت الفرق !!

ثم البقيه تم شرحها بالدرس السابق .

==============================


والآن نضع الكود التالي تحت مباشرة :
<?
$Sqlx 
mysql_query("SELECT id,name,cat,date,vis,count,vote FROM story where cat=$id order by order_story");
$allstorys mysql_num_rows($Sqlx);

if(
$allstorys == 0){
echo 
"";
}else{
?>


اولا قمنا بتحديد الحقول التي سيتم سحبها من الجدول تبع القصص وهي :
id,name,cat,date,vis,count,vote

ثم قمنا بعمل شرط للاستعلام بحيث نعرض جميع القصص بشرط cat=$id أي حقل cat تبع القصه يساوي حقل id تبع أقسام القصص . ثم قمنا بالترتيب حسب الحقل order_story .

وايضا استخدمنا دالة حساب عدد السجلات الجدول
<?
$allstorys 
mysql_num_rows($Sqlx);
?>

وقمنا بعمل شرط وهو اذا كان عدد القصص يساوي صفر فلن يعرض شيء واذا كان العدد اكثر من صفر فيتم عرض القصص جميعها حسب القسم الخاص بها .

ثم نكتب الكود التالي اسفل شيء :
<?
echo "<div align='center'>
  <center>
  <table border='1' cellpadding='3' cellspacing='3' bordercolor='#E7E49F' width='90%' id='AutoNumber3' dir='rtl'>
    <tr>
      <td width='58%' bgcolor='#FCFEF0'><p align='center'>إسم القصة</p></td>
      <td width='14%' bgcolor='#FCFEF0'><p align='center'>تاريخ الإضافة</p></td>
      <td width='14%' bgcolor='#FCFEF0'><p align='center'>التصويت</p></td>
      <td width='14%' bgcolor='#FCFEF0'><p align='center'>الزيارات</p></td>
    </tr>"
;
?>

وهو فتحنا جدول ذو 4 حقول عن طريق الفرونت بيج .

ثم انشأنا حلقة تكرار لنجلب جميع القصص التي بالقسم :
<?
while ($Rowx = @mysql_fetch_array($Sqlx))
{
$Rowx[name] = stripslashes($Rowx[name]);
echo 
"<tr>
      <td width='58%'><img src='images/start.gif' alt='$Rowx[name]' border=0> <a href='show.php?id=$Rowx[id]'>$Rowx[name]</a></td>
      <td width='14%'><p align='center'>$Rowx[date]</p></td>
      <td width='14%'><p align='center'>$Rowx[vote]/$Rowx[count]</p></td>
      <td width='14%'><p align='center'>$Rowx[vis]</p></td>
    </tr>"
;
}
?>

ستلاحظ وجود اسم ملف جديد وهو :
<?
show
.php?id=$Rowx[id]
?>

خاص بعرض موضوع القصه سيتم شرحه لاحقا ان شاء الله .

لاحظ ان جميع ما بداخل اقواس حلقة التكرار سيتم تكراره على حسب عدد القصص الموجوده به .


ثم نغلق وسوم الجدول ثم نغلق الشرط :
<?
echo "</table>
  </center>
</div>"
;
}
?>


ثم نقوم بتضمين ملف footer.htm ونغلق بعد وسوم الصفحه كما فعنا بالشرح السابق :
<?
include('footer.htm');
echo 
"</body>
</html>"
;
?>


إنتهينا من شرح الملف section.php ولله الحمد .

وسيتم شرح الملف الخاص برؤية القصة وموضوعها ان شاء الله .

والله ولي التوفيق
section.zip حجم الملف 1134 بايت - مرات التحميل 197


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

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



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

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