مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

hosseinshaker

عضویت از 1400/07/05

pagination در php

  • دوشنبه 5 مهر 1400
  • 19:21
تشکر میکنم

با سلام خدمت دوستان
من چ کدی به کد هام اضافه کنم که مثلا اگه صد تا صفحه داشتم از ۱تا۱۰۰رو ننویسه مثا بنویسه ۱و۲و۳و...۹۹و۱۰۰
واسه صفحه بندی هست اطلاعات خیلی زیاده چ کد یا دستوری اضافه کنم اینطوری شه؟مرسی از راهنماییتون

<?php  
    $db="posts";
    $results_per_page =7;  
    $query = "select *from $db";  
    $result = mysqli_query($connect_db, $query);  
    $number_of_result = mysqli_num_rows($result);  
    $number_of_page = ceil ($number_of_result / $results_per_page);  
    if (!isset ($_GET['page']) ) {  
        $page = 1;  
    } else {  
        $page = $_GET['page'];  
    }  
    $page_first_result = ($page-1) * $results_per_page;    
    $query = "SELECT *FROM $db LIMIT " . $page_first_result . ',' . $results_per_page;  
    $result = mysqli_query($connect_db, $query);  
?>  
<div class="layout-px-spacing">
<div class="row layout-top-spacing" id="cancel-row">
<div class="col-xl-12 col-lg-12 col-sm-12  layout-spacing">
<div class="widget-content widget-content-area br-6">
<?php  echo($massage); ?>
<div class="table-responsive mb-4 mt-4">
    <table id="html5-extension" class="table table-hover non-hover" style="width:100%">
 
        <thead>
            <tr>
                <th>ردیف</th>
                <th>نام و نام خانوادگی</th>
                <th>شماره </th>
                <th>ویرایش</th>
                <th>حذف</th>
            </tr>
        </thead>
        <tbody>
         <?php      
            $i=1;
 
while ($row = mysqli_fetch_array($result)) {  
    ?>
            <tr>    
<td><?php echo $i++ ?></td>
<td><?php echo($row['name']);?></td>
<td><?php echo($row['pelak']);?></td>
    <td>
        <div class="btn-group"> 
            <a href="list-kadr-edit.php?edit=<?php echo($row['id']);?>" class="btn btn-dark">ویرایش</a>
          </div>
    </td>
    <td>
        <div class="btn-group">
         <a href="list-kadr.php?del=<?php echo($row['id']);?>" class="btn btn-danger">حذف</a>
          </div>                      
    </td>
            </tr>
                <?php  } ?>
        </tbody>
 
    </table>
    <nav class="row">
    <div class="col-md-2"></div>
    <div class="col-md-8">
    <?php
    echo('<div class="dataTables_paginate1 paging_simple_numbers1">');
            echo('<ul class="pagination ul-navi">');
 
        for($page = 1; $page<= $number_of_page; $page++) {  
            echo('<li class="paginate_button page-item active  ul-navi">');
        echo '<a href ="test.php?page=' . $page . '" class="aa-page">' . $page . ' </a>';
        echo('</li>');
    }
 
            echo('</ul>');
            echo('</div>');
    ?>
    </div>
    <div class="col-md-2"></div>
    </nav>
</div>
 
<a href="list-kadr.php?clear=all" class="btn btn-danger">حذف تمامی رکورد ها</a>
</div>
</div>
</div>
</div>

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

امیرحسین

عضویت از 1395/06/24

  • دوشنبه 5 مهر 1400
  • 21:36
راهی که به ذهن من رسید: '); echo('
    '); $number_of_page = 100; // کل صفحه ها $number_of_page_2 = 8; // صفحه ای که باز شده $number_of_page_3 = $number_of_page_2 + 4; // این مقدار صفحه را نشان میدهد for($page = $number_of_page_2; $page <= $number_of_page; $page++) { if ($page == $number_of_page_3) { echo('
  • '); echo '' . $page . ' '; echo('
  • '); echo "..."; echo('
  • '); echo '' . $number_of_page-1 . ' '; echo('
  • '); echo('
  • '); echo '' . $number_of_page . ' '; echo('
  • '); break; } else { echo('
  • '); echo '' . $page . ' '; echo('
  • '); } } echo('
'); echo(''); ?>
کاربر سایت

امیرحسین

عضویت از 1395/06/24

  • دوشنبه 5 مهر 1400
  • 21:37

سلام، ببخشید تو پیام قبلی نمیدونم چرا اینطور شد، لطفا ادمین ها پاک کنند.

این راهیه که به ذهن من رسید

<?php
    echo('<div class="dataTables_paginate1 paging_simple_numbers1">');
            echo('<ul class="pagination ul-navi">');
    $number_of_page = 100; // کل صفحه ها
    $number_of_page_2 = 8; // صفحه ای که باز شده
    $number_of_page_3 = $number_of_page_2 + 4; // این مقدار صفحه را نشان میدهد
    for($page = $number_of_page_2; $page <= $number_of_page; $page++) {  

        if ($page == $number_of_page_3) {
            echo('<li class="paginate_button page-item active  ul-navi">');
            echo '<a href ="test.php?page=' . $page . '" class="aa-page">' . $page . ' </a>';
            echo('</li>');

            echo "...";
            echo('<li class="paginate_button page-item active  ul-navi">');
            echo '<a href ="test.php?page=' . $number_of_page-1 . '" class="aa-page">' . $number_of_page-1 . ' </a>';
            echo('</li>');
            echo('<li class="paginate_button page-item active  ul-navi">');
            echo '<a href ="test.php?page=' . $number_of_page . '" class="aa-page">' . $number_of_page . ' </a>';
            echo('</li>');
            break;
        } else {
            echo('<li class="paginate_button page-item active  ul-navi">');
            echo '<a href ="test.php?page=' . $page . '" class="aa-page">' . $page . ' </a>';
            echo('</li>');
        }
    }
 
            echo('</ul>');
            echo('</div>');
?>
کاربرانی که از این پست تشکر کرده اند hosseinshaker

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)