PHP MYSQL分页结果

时间:2012-09-12 07:37:24

标签: php mysql data-paging

我想创建php分页,基页是“Page 1”,页面链接应该从“Page 2”开始,将“Page 1”链接保留为普通文本而不是链接,当我在“第二页”时“”Page 1“文本成为导致”第一页“的链接。

像: 在基页上。 /orders.php

<div id="page-links">
<b>1</b>, 
<a href="/orders.php?pagenum=2">2</a>, 
<a href="/orders.php?pagenum=3">3</a>
</div>

在第2页时。 /orders.php?pagenum=2

<div id="page-links">
<a href="/orders.php?pagenum=1">1</a>, 
<b>2</b>, 
<a href="/orders.php?pagenum=3">3</a>
</div>

我有这个php页面:

   <table>
      <?php
      $orders_check_raw = "select * from " . $orders . " where customers_id = '" . (int) $user_id . "'";
      $orders_check_query = mysql_query( $wpdb->prepare( $orders_check_raw ) );
      while ($orders_check = mysql_fetch_array( $orders_check_query )) {
        $blog_details = get_blog_details( $orders_check['blog_id'] );
        ?>

        <tr>
          <th class="check-column"><input type="checkbox" name="order[]" value=""></th>
          <td><?php echo str_pad( $orders_check['orders_id'], 7, '0', STR_PAD_LEFT ) . '<span style="display:none;">' . ltrim( str_pad( $orders_check['orders_id'], 7, '0', STR_PAD_LEFT ), '0' ) . '</span>'; ?></td>
          <td><?php echo $orders_check['payment_method']; ?></td>
          <td><?php echo date_short( $orders_check['date_purchased'] ); ?></td>
          <td><?php echo status_name( $orders_check['orders_status'] ); ?></td>
        </tr>
      <?php } ?>
    </tbody>
    </table>

谢谢。

3 个答案:

答案 0 :(得分:0)

我认为你可以使用$ _GET和if ... else语句来实现你想要的结果。对于if..else http://www.w3schools.com/php/php_if_else.asp和GET http://php.net/manual/en/reserved.variables.get.php

if($_GET['pagenum']==1){
   echo '<div id="page-links"><b>1</b>, <a href="/orders.php?pagenum=2">2</a>, <a href="/orders.php?pagenum=3">3</a></div>';
}
else if (....) {
   ...
}
else (...) {
   ...
}

答案 1 :(得分:0)

理想情况下,您应该定义一个常量来显示每页的条目。基于此,您应该为数据库查询设置偏移量。

例如:

define('ENTRIES_PER_PAGE', 15);

$orders_check_raw = "SELECT * FROM " . $orders . " WHERE customers_id = '" . (int) $user_id . "'";

$offset = $_GET['pagenum'] * ENTRIES_PER_PAGE;
$orders_check_raw .= "LIMIT " . ENTRIES_PER_PAGE . ", " . $offset;

$orders_check_query = mysql_query( $wpdb->prepare( $orders_check_raw ) );

希望这有帮助。

答案 2 :(得分:-1)

你可以自己写一个php分页,这需要一点点努力。

OR

检查this site。它有关于如何使用PHP和MySQL创建分页的指南?你会发现它很有用。

它是可配置的,以下是为数不多的设置:

  1. 连接数据库的代码
  2. 你的桌名。
  3. 每侧要显示的相邻页面数。
  4. 每页显示的项目数。