الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في تعدد الصفحات في الصفحات الفرعية

بدأه محمد أبراهيم في 7 يوليو 2010 · 4 رد · 622 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

السكربت الذي أعمل عليه يوجد به صفحة رئيسية وهذه الصفحة لا يوجد بها استعلامات من قاعدة البيانات اقوم بجلب الصفحات الفرعية داخل الصفحة الرئيسية عن طريق الكود التالي

<? 
    $page = $_GET['cpages']; // الدليل الرئيسي للصفحات cpages 

   if (isset($page)) { //التحقق من قيمة داخل الدليل الرئيسي 
     $url = $page.".php"; //أخفاء .بي اتش بي من أل url 
    if (file_exists($url)) { //دالة التحقق من وجود ملف معين 
        include $url; //أستدعاء الرابط 
    }else { 
    echo '<center>'; 
    echo "عذراً الصفحة غير موجودة"; 
    echo '</center>'; 
    } 

  }else { //محتوى الصفحة الرئيسية 

  echo '.'; 

  } 

  ?>

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

   <? include_once("../inc/config.php"); 

    if(!isset($_GET["page"])) 
    { 
    $page=1; 
    } 
    else 
    { 
    $page= intval($_GET['page']); 
    } 
    $max=5; 
    $from=($max*$page)- $max; 
    $sql = mysql_query("select * from box_scripts order by id"); 
    $num_sql = mysql_num_rows($sql); 
    $sql1 = mysql_query("select * from box_scripts order by id desc limit $from,$max "); 
    $num_sql1 = mysql_num_rows($sql1); 
    $pages=ceil($num_sql/$max); 
    $num = mysql_num_rows($sql); 
    $result = mysql_query("SELECT * FROM box_scripts order by id"); 
    while($row = mysql_fetch_array($sql1) ){ 
    $id = $row["id"];//حقل الترقيم 
    $sname= $row["sname"];//حقل اسم السكربت 
    $sdescr = $row["sdescr"];//حقل وصف السكربت 
    $simg = $row["simg" ] ;// حقل صورة السكربت 


    if (isset($id)) { 


        echo "<div id='titile'> 
        $row[sname]</td> 
        </div>"; 

        echo "<div id='show'> 
        <div class='stable'> 
        $simg 
        </div> 

        <div class='stable2'> 
        $sdescr 
        </div> 

        </div> 
        </div> 

        "; 
        } 
        } 
     if($page>1) 
     { 
     $prev=$page-1; 
     echo"<span id=dis><a href=".$PHP_SELF."?page=$prev\">الخلف</a></span>"; 
     } 
     for($i=1;$i<=$pages;$i++) 
     {//شكل عرض رقم الصفحة عند الضغط 
     if($page==$i) echo"<div id='num'>$i</div>"; 
     else 
     {//شكل عرض ارقام التنقل بين الصفحات 
     echo"<div id='num'><a href=".$PHP_SELF."?page=$i\">$i</a></div>"; 
     } 
     } 
     if($page<$pages) 
     { 
     $next=$page+1; 
     echo"<span id=dis><a href=".$PHP_SELF."?page=$next\">التالي</a></span>"; 
     } 
     ?>

وعند اعطاء المتغير page$ نفس القيمة يظهر هذا الخطأ

Warning:  mysql_num_rows(): supplied argument is not a valid  MySQL result resource in C:AppServwwwscriptsboxbox_scripts.php  on line 21

Warning:  mysql_fetch_array(): supplied argument is not a valid  MySQL result resource in C:AppServwwwscriptsboxbox_scripts.php  on line 24
#2

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

أخي الخطأ هنا والله أعلم

محمد أبراهيم كتب:

if($page>1)

{

$prev=$page-1;

echo"<span id=dis><a href=".$PHP_SELF."?page=$prev\">الخلف</a></span>";

}

for($i=1;$i<=$pages;$i++)

{//شكل عرض رقم الصفحة عند الضغط

if($page==$i) echo"<div id='num'>$i</div>";

else

{//شكل عرض ارقام التنقل بين الصفحات

echo"<div id='num'><a href=".$PHP_SELF."?page=$i\">$i</a></div>";

}

}

if($page<$pages)

{

$next=$page+1;

echo"<span id=dis><a href=".$PHP_SELF."?page=$next\">التالي</a></span>";

}

?>

إن لاحظت معي

<a href=".$PHP_SELF."?page=$i\">

أنت هنا تغلق ("\) Quote بدون أن تكون قد فتحتها سابقا

لذلك استبدلها جميعها هكذا :

<a href='?page=".$i."'>

بهذا الشكل تكفي والله اعلم

جرب ذلك و أخبرني بالنتيجة

بتوفيق الله ..

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 7 يوليو 2010 في 15:24

Everything will be fine when we TALK LESS, DO MORE


#3

نفس المشكلة حاولت كثيراً في تغيير الكود ولكن لم تحل المشكلة الرجاء من الأخوان الخبراء حل المشكلة

#4

تماما الخطأ الذي ارشدتك إليه ليس هو السبب في حدوث ذلك

أولا غير اسم المتحول page$ في أحد الصفحتين حتى تتجنب بعض التعارض

الخطأ هو كما نرى الشرط في الصفحة الرئيسية إن لم يكن المتحول page$ مهيئاً أي لا يحتوي قيمة يقوم بعرض الصفحة الرئيسية

و بالتالي الطريقة التي تنتقل فيها بين الاستعلامات خاطئة

ضع في الروابط المتغير cpages & المتغير page

أي كالتالي :

<a href='?cpages=pagename&page=".$i."'>

طبعا تضع اسم الصفحة الداخلية مكان كلمة pagename

بتوفيق الله ..

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 7 يوليو 2010 في 19:09

Everything will be fine when we TALK LESS, DO MORE


#5

شكراً لك اخي العزيز تم حل المشكلة :happy:

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…