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

الموضوع: أحتاج مساعدة بالتعديل على كود php تعدد الصفحات

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2010
    المشاركات
    51

    Smile أحتاج مساعدة بالتعديل على كود php تعدد الصفحات



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

    هذا هو الكود

    كود PHP:
    <?php
    print '<table id="list">';

    $list_query mysql_query("SELECT * FROM `books_list` WHERE cat='scientific_books'");

    print 
    '<tr>
    <th>غلاف الكتاب</th>
    <th>تاريخ الإضافة</th>
    <th>الأسم</th>
    </tr>'
    ;
    while (
    $list mysql_fetch_array($list_query))
    {
    print 
    '<tr>
    <td><a href="'
    .$list['url'].'"><img src="'.$list['img'].'" alt="'.$list['name'].'" width="80" height="100" border="1"></a></td>
    <td><b>'
    .$list['data'].'</b></td>
    <td><b><a href="'
    .$list['url'].'">'.$list['name'].'</a></b></td>
    </tr>'
    ;
    }
    print 
    '</table>';
    ?>
    عندما أقوم بتنفيذ الأستعلام تظهر جميع النتائج بنفس الصفحة وتصبح الصفحة طويلة جداً لذلك أريد تقسيم النتائج 15 نتيجة في كل صفحة وعمل تعدد صفحات مثل المواقع الكبيرة مثل جوجل وقد قمت بالبحث عن دروس تعدد الصفحات في php ولكن لم أستطيع التطبيق على هذا الكود بالذات لأني مبتدئ في برمجة المواقع لذلك أتمنا شرح عمل تعدد الصفحات على هذا الكود وأيضا أذا من الممكن أن يكون التعدد يستخدم التنقل بين الصفحات بدون إعادة تحميل الصفحة بشكل كامل



    مثل الموقع التالي

    http://www.maktbtna2211.com/category/67

    وشكرا لكم






    التعديل الأخير تم بواسطة man_gd3 ; 24-05-2011 الساعة 05:23 PM


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2008
    المشاركات
    324


    كود PHP:
    <?php
        
    /*
            Place code to connect to your DB here.
        */
        
    include('config.php');    // include your code to connect to DB.

        
    $tbl_name="";        //your table name
        // How many adjacent pages should be shown on each side?
        
    $adjacents 3;
        
        
    /* 
           First get total number of rows in data table. 
           If you have a WHERE clause in your query, make sure you mirror it here.
        */
        
    $query "SELECT COUNT(*) as num FROM $tbl_name";
        
    $total_pages mysql_fetch_array(mysql_query($query));
        
    $total_pages $total_pages[num];
        
        
    /* Setup vars for query. */
        
    $targetpage "filename.php";     //your file name  (the name of this file)
        
    $limit 2;                                 //how many items to show per page
        
    $page $_GET['page'];
        if(
    $page
            
    $start = ($page 1) * $limit;             //first item to display on this page
        
    else
            
    $start 0;                                //if no page var is given, set start to 0
        
        /* Get data. */
        
    $sql "SELECT column_name FROM $tbl_name LIMIT $start$limit";
        
    $result mysql_query($sql);
        
        
    /* Setup page vars for display. */
        
    if ($page == 0$page 1;                    //if no page var is given, default to 1.
        
    $prev $page 1;                            //previous page is page - 1
        
    $next $page 1;                            //next page is page + 1
        
    $lastpage ceil($total_pages/$limit);        //lastpage is = total pages / items per page, rounded up.
        
    $lpm1 $lastpage 1;                        //last page minus 1
        
        /* 
            Now we apply our rules and draw the pagination object. 
            We're actually saving the code to a variable in case we want to draw it more than once.
        */
        
    $pagination "";
        if(
    $lastpage 1)
        {    
            
    $pagination .= "<div class=\"pagination\">";
            
    //previous button
            
    if ($page 1
                
    $pagination.= "<a href=\"$targetpage?page=$prev\">« previous</a>";
            else
                
    $pagination.= "<span class=\"disabled\">« previous</span>";    
            
            
    //pages    
            
    if ($lastpage + ($adjacents 2))    //not enough pages to bother breaking it up
            
    {    
                for (
    $counter 1$counter <= $lastpage$counter++)
                {
                    if (
    $counter == $page)
                        
    $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        
    $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                }
            }
            elseif(
    $lastpage + ($adjacents 2))    //enough pages to hide some
            
    {
                
    //close to beginning; only hide later pages
                
    if($page + ($adjacents 2))        
                {
                    for (
    $counter 1$counter + ($adjacents 2); $counter++)
                    {
                        if (
    $counter == $page)
                            
    $pagination.= "<span class=\"current\">$counter</span>";
                        else
                            
    $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                    }
                    
    $pagination.= "...";
                    
    $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                    
    $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
                }
                
    //in middle; hide some front and some back
                
    elseif($lastpage - ($adjacents 2) > $page && $page > ($adjacents 2))
                {
                    
    $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                    
    $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                    
    $pagination.= "...";
                    for (
    $counter $page $adjacents$counter <= $page $adjacents$counter++)
                    {
                        if (
    $counter == $page)
                            
    $pagination.= "<span class=\"current\">$counter</span>";
                        else
                            
    $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                    }
                    
    $pagination.= "...";
                    
    $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                    
    $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
                }
                
    //close to end; only hide early pages
                
    else
                {
                    
    $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                    
    $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                    
    $pagination.= "...";
                    for (
    $counter $lastpage - (+ ($adjacents 2)); $counter <= $lastpage$counter++)
                    {
                        if (
    $counter == $page)
                            
    $pagination.= "<span class=\"current\">$counter</span>";
                        else
                            
    $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                    }
                }
            }
            
            
    //next button
            
    if ($page $counter 1
                
    $pagination.= "<a href=\"$targetpage?page=$next\">next »</a>";
            else
                
    $pagination.= "<span class=\"disabled\">next »</span>";
            
    $pagination.= "</div>\n";        
        }
    ?>

        <?php
            
    while($row mysql_fetch_array($result))
            {
        
            
    // Your while loop here
        
            
    }
        
    ?>

    <?=$pagination?>
    شرح سريع

    للإتصال بقاعدة البيانات

    كود PHP:
    include('config.php');    // include your code to connect to DB. 
    إستدعاء الجدول ضع إسمه
    مثال books_list
    كود PHP:
    $tbl_name="books_list";        //your table name 
    إسم الصفحة
    كود PHP:
     $targetpage "filename.php";     //your file name  (the name of this file) 
    عرض الصفحات
    كود PHP:
    <?=$pagination?>
    الان الستايل


    كود PHP:
    div.pagination {
        
    padding3px;
        
    margin3px;
    }

    div.pagination a {
        
    padding2px 5px 2px 5px;
        
    margin2px;
        
    border1px solid #AAAADD;
        
        
    text-decorationnone/* no underline */
        
    color#000099;
    }
    div.pagination a:hoverdiv.pagination a:active {
        
    border1px solid #000099;

        
    color#000;
    }
    div.pagination span.current {
        
    padding2px 5px 2px 5px;
        
    margin2px;
            
    border1px solid #000099;
            
            
    font-weightbold;
            
    background-color#000099;
            
    color#FFF;
        
    }
        
    div.pagination span.disabled {
            
    padding2px 5px 2px 5px;
            
    margin2px;
            
    border1px solid #EEE;
        
            
    color#DDD;
        

    للمزيد للإستفادة

    http://www.phpeasystep.com/phptu/29.html





    التعديل الأخير تم بواسطة zamile28 ; 25-05-2011 الساعة 03:26 PM

  3. #3
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    يمكنك الاطّلاع على المقال التالي الذي كتبته في 2006:
    http://www.almashroo.com/35/%D8%AA%D...D%D8%A7%D8%AA/

    تحياتي،





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!





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

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

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