النتائج 1 إلى 13 من 13

الموضوع: احترت باختيار العنوان || استفسار

  1. #1
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,624

    احترت باختيار العنوان || استفسار



    السلام عليكم
    كيف اعرض بيانات حقل معين بعد عدد معين من البيانات مثلا (id) عل شكل صفحات يتم يتم عرض ارقام الصفحات اسفل الصفحة
    مثلا
    1|2|3|4 >>>
    اتمنى تكونوا فهمتوا قصدي :shy:
    وشكرا







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


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

    لا أدري اذا كنت فهمتك صح ولا لأ

    بس على حسب فهمي يمكنك عمل تعدد الصفحات مثلاً عن طريق روابط الصفحات تكون كالتالي:
    صفحة رقم 1 --> يكون رابطها index.php?start=1
    صفحة رقم 2 --> يكون رابطها index.php?start=16

    وفي الملف index.php
    تعمل الآتي

    كود PHP:
    // استقبال القيمة start
    $start $_GET['start'];
    $qr = @mysql_query("SELECT * FROM table LIMIT $start, 15"); 
    نتيجة هذا الاستعلام ستكون 15 صف ابتداءاً من الصف الذي رقمه يساوي start

    أرجو ان اكون قد وفقت في الشرح لك
    ولأي استفسار تفضل

    تحياتي






    __________________
    مدونتي

  3. #3
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,624


    صحيح اخوي وهذا الكود عدلته وماظهر معي
    كود PHP:
    <? 
    include 'config.php';    
    $result=mysql_query('SELECT * FROM lu2y ORDER BY id desc');    
    // استقبال القيمة start 
    $start $_GET['start']; 
    $qr = @mysql_query("SELECT * FROM lu2y LIMIT $start, 3");  
    while(
    $data=mysql_fetch_array($result)){ 
    $txt $data[txt]; 
    $id $data[id]; 
    echo 
    "$txt<br>"
    echo 
    "<br><a href='edit.php?id=$id'>تعديل</a>||<a href='del.php?id=$id'>حذف</a><br><br> ";     


    echo 
    "<a href='add.php'>إضافة</a>";     
    echo 
    "$start";
    ?>






    التعديل الأخير تم بواسطة DESIGN-1983 ; 16-08-2006 الساعة 12:56 PM سبب آخر: تعديل

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    إستبدل
    كود PHP:
    while($data=mysql_fetch_array($result)){ 
    بـ:
    كود PHP:
    while($data=mysql_fetch_array($qr)){ 






    __________________
    مدونتي

  5. #5
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,624


    ما زبطت معي

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\vb\index.php on line 14







  6. #6
    عضو نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    59


    بالنسة للخطأ ألي ضهر لك رح تأكد من مطابقة أسم الجدول في قاعدة البيانات إذا كان متطابق تأكد من أن المتغير $start ذو قيمة صحيحة من ناحيتين الأولى أنه رقم والثانية أنه أقل من عدد الحقول الموجودة في قاعدة البيانات بالنسبة للمشكلة الاولى فأستعمل الطريقة هذي :
    كود PHP:
    $start $_GET[start] ? floor(abs(urlencode($_GET[start]))) : 1
    هذي العملية راح تجعل للمتغير الخاص بحدود الصفحة قيمة صحيحة

    المشكلة الثانية حلها هو في الكود التالي :
    كود PHP:
    $numberfild mysql_fetch_assoc(mysql_query("SELECT count(id) FROM lu3y"));
    if(
    floor(abs(urlencode($_GET[start]))) < ($numberfild["count(id)"])){
    // كامل العمليات السابقة 
    }else{
    echo 
    "اتبعت رابط خاطء";

    أخيرا فيه خطأ عندك في الاستعلامات وهو تكرارها وبهذي الطريقة ماراح تستفيد من خواص كل استعلام لكن لو دمجتها كان صار افضل والطريقة كالتالي :
    كود PHP:
    $qr = @mysql_query("SELECT * FROM lu2y ORDER BY id desc LIMIT $start, 3"); 
    الكود النهائي للسيكريبت :
    كود PHP:
    <?  
    include 'config.php';     

    $numberfild mysql_fetch_assoc(mysql_query("SELECT count(id) FROM lu3y")); 
    if(
    floor(abs(urlencode($_GET[start]))) < ($numberfild["count(id)"])){ 
        
    $result=mysql_query('SELECT * FROM lu2y ORDER BY id desc');     
        
    // استقبال القيمة start  
        
    $start $_GET[start] ? floor(abs(urlencode($_GET[start]))) : 1;
         
    $qr = @mysql_query("SELECT * FROM lu2y ORDER BY id desc LIMIT $start, 3");     
        while(
    $data=mysql_fetch_array($qr)){  
            
    $txt $data[txt];  
            
    $id $data[id];  
            echo 
    "$txt<br>";  
            echo 
    "<br><a href='edit.php?id=$id'>تعديل</a>||<a href='del.php?id=$id'>حذف</a><br><br> ";      
        }
        echo 
    "<a href='add.php'>إضافة</a>";      
        echo 
    "$start";
    }else{ 
        echo 
    "اتبعت رابط خاطء"
    }   
    ?>

    هذا الرد كخطوة أولى عموما إذا زان كل شيء معك راح نروح للخطوة ألي بعدها وهو إدراج روابط للصفحات





    __________________
    لطلب خدمة راسلني على البريد التالي :
    add-1st@hotmail.com

  7. #7
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,624


    الف شكر لك أخوي ADD بارك الله فيك الآن ظهرت معي ا لصفحة بدون اية مشاكل بانتظار كيفية اظهار روابط الصفحات
    معذرة راح اتعبكم معي لاني مبتدئ بالـ php
    الف شكر مره اخرى لتفاعلك والشكر موصول لأخي mahmoud009
    تقبلوا فائق احترامي وتقديري






  8. #8
    عضو نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    59


    طالما الحمد لله كلش مشي معك تمام خلنا الحين نبدأ في الخطوة الثانية وهي عمل روابط الصفحات الطريقة كالتالي :
    1- نحتاج لتطوير الكود بحيث أنه يعرض كمية من النتايج بالتطريقة التالية :
    نعدل هذا السطر :
    كود PHP:
    if(floor(abs(urlencode($_GET[start]))) < ($numberfild["count(id)"])){ 
    إلى :
    كود PHP:
    if(floor(abs(urlencode($_GET[start]))) < (($numberfild["count(id)"])/3)+1){ 
    و هذا السطر :
    كود PHP:
    $start $_GET[start] ? floor(abs(urlencode($_GET[start]))) : 1
    إلى :
    كود PHP:
    $start $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 1
    2- الآن راح نسوي عداد الصفحات الكود راح ينضاف بعد هذا السطر :
    كود PHP:
        echo "<a href='add.php'>إضافة</a>";       
        echo 
    "$start"
    الكود :
    كود PHP:
    <?
    if($_GET[start] <= 3){
        
    $startpoint 1;
    }else{
        if(++
    $_GET[start] < ($numberfild["count(id)"]/9)+1){
            if(
    2+$_GET[start] < (($numberfild["count(id)"]/9)+1)){
                
    $startpoint $_GET[start]-2;
            }else{
                
    $startpoint $_GET[start]-3;
            }
        }else{
            
    $startpoint $_GET[start]-4;
        }
    }
    ?>
    <table id="input" style="padding:4px; border:0px; width: 100%;">
            <tr>
                <td style="width: 25%;"><?if($startfild == 0){?>&lt;&lt; السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>">&lt;&lt; السابق</a><?}?></td>
                <?
                
    static $numlinkpage 1;
                
    $numlinkpage $startpoint;
                static 
    $totallink 0;
                while(
    $numlinkpage < ($numberfild["count(id)"]/9)+and ($totallink != 5)){?>
                    <td><?if($numlinkpage == $_GET[start]){echo $numlinkpage ";}else{?><a class="link" href="personal.php?start=<?=$numlinkpage?>"> <?=$numlinkpage?> </a><?}?></td>
                    <?
                    $totallink
    ++;
                    
    $numlinkpage++;
                }
    ?>
                <td style="width: 25%;"><?if(($startfild+9) >= $numberfild["count(id)"]){?>التالي &gt;&gt;<?}else{?><a class="link" href="personal.php?start=<?=1 $_GET[start]?>">التالي &gt;&gt;</a><?}?></td>
            </tr>
    </table>

    الكود النهائي راح يكون :
    كود PHP:
    <?   
    include 'config.php';      

    $numberfild mysql_fetch_assoc(mysql_query("SELECT count(id) FROM lu3y"));  
    if(
    floor(abs(urlencode($_GET[start]))) < (($numberfild["count(id)"])/3)+1){     
        
    // استقبال القيمة start   
        
    $start $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 1;
         
    $qr = @mysql_query("SELECT * FROM lu2y ORDER BY id desc LIMIT $start, 3");      
        while(
    $data=mysql_fetch_array($qr)){   
            
    $txt $data[txt];   
            
    $id $data[id];   
            echo 
    "$txt<br>";   
            echo 
    "<br><a href='edit.php?id=$id'>تعديل</a>||<a href='del.php?id=$id'>حذف</a><br><br> ";       
        } 
        echo 
    "<a href='add.php'>إضافة</a>";       
        echo 
    "$start";
        if(
    $_GET[start] <= 3){
            
    $startpoint 1;
        }else{
            if(++
    $_GET[start] < ($numberfild["count(id)"]/9)+1){
                if(
    2+$_GET[start] < (($numberfild["count(id)"]/9)+1)){
                    
    $startpoint $_GET[start]-2;
                }else{
                    
    $startpoint $_GET[start]-3;
                }
            }else{
                
    $startpoint $_GET[start]-4;
            }
        }
        
    ?>
        <table id="input" style="padding:4px; border:0px; width: 100%;">
                <tr>
                    <td style="width: 25%;"><?if($startfild == 0){?>&lt;&lt; السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>">&lt;&lt; السابق</a><?}?></td>
                    <?
                    
    static $numlinkpage 1;
                    
    $numlinkpage $startpoint;
                    static 
    $totallink 0;
                    while(
    $numlinkpage < ($numberfild["count(id)"]/9)+and ($totallink != 5)){?>
                        <td><?if($numlinkpage == $_GET[start]){echo $numlinkpage ";}else{?><a class="link" href="personal.php?start=<?=$numlinkpage?>"> <?=$numlinkpage?> </a><?}?></td>
                        <?
                        $totallink
    ++;
                        
    $numlinkpage++;
                    }
    ?>
                    <td style="width: 25%;"><?if(($startfild+9) >= $numberfild["count(id)"]){?>التالي &gt;&gt;<?}else{?><a class="link" href="personal.php?start=<?=1 $_GET[start]?>">التالي &gt;&gt;</a><?}?></td>
                </tr>
        </table>
        <?
    }else{  
        echo 
    "اتبعت رابط خاطء";  
    }    
    ?>






    __________________
    لطلب خدمة راسلني على البريد التالي :
    add-1st@hotmail.com

  9. #9
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,624


    جزاك الله الف خير اخي
    الآن رابط الصفحات يظهر حتى لو كانت البيانات صفحة واحده ويظهر لي رابط الصفحة رقم واحد كيف لي ان اخفيه ويظهر في حال كانت الصفحات اكثر من واحده
    والف شكر لك






  10. #10
    عضو نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    59


    فيه خطأ بسيط في السطر هذا :
    كود PHP:
        $start $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 1
    بدله بهذا :
    كود PHP:
        $start $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 1
    وهذا :
    كود PHP:
                <td style="width: 25%;"><?if($startfild == 0){?>&lt;&lt; السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>">&lt;&lt; السابق</a><?}?></td>
    بهذا :
    كود PHP:
                <td style="width: 25%;"><?if($start == 0){?>&lt;&lt; السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>">&lt;&lt; السابق</a><?}?></td>
    وهذا :
    كود PHP:
    <td style="width: 25%;"><?if(($startfild+9) >= $numberfild["count(id)"]){?>التالي &gt;&gt;<?}else{?><a class="link" href="personal.php?start=<?=1 $_GET[start]?>">التالي &gt;&gt;</a><?}?></td>
    بهذا :
    كود PHP:
    <td style="width: 25%;"><?if(($start+3) >= $numberfild["count(id)"]){?>التالي &gt;&gt;<?}else{?><a class="link" href="personal.php?start=<?=1 $_GET[start]?>">التالي &gt;&gt;</a><?}?></td>
    وهذا :
    كود PHP:
                    while($numlinkpage < ($numberfild["count(id)"]/9)+and ($totallink != 5)){?> 
    بهذا :
    كود PHP:
                    while($numlinkpage < ($numberfild["count(id)"]/3)+and ($totallink != 5)){?> 






    __________________
    لطلب خدمة راسلني على البريد التالي :
    add-1st@hotmail.com

  11. #11
    فضلاً اكتب اسمك الحقيقي هنا
    زائرالجمال


    مشكوررر

    أستفدت من هالموضوع






  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    790


    حسب ما فهمت .. تعدد الصفحات ..
    www.php-ar.com
    قسم الدروس ( كيف تنشئ تعدد الصفحات )

    أو باللغة الإنجليزية www.phpfreaks.com
    ستجد موضوع يتحدث عن تعدد الصفحات

    ملحوظة : نفس الأكواد في كلا الموقعين


    Dr.no






  13. #13
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,624


    ADD
    ألف شكر اخي الكريم على تفاعلك معي،
    أطيب الامنيات
    Dr.no
    جزيل الشكر لك أخي الفاضل











ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض