Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sql-确定第一组记录_Php_Mysql_Pdo_Pagination - Fatal编程技术网

Php sql-确定第一组记录

Php sql-确定第一组记录,php,mysql,pdo,pagination,Php,Mysql,Pdo,Pagination,我想做一个寻呼: < page > 对于接下来的10条记录: SELECT some_column FROM Table WHERE some_column ORDER BY some_column LIMIT 10 SELECT some_column FROM Table WHERE some_column ORDER BY some_column LIMIT 10 OFFSET 10 SELECT some_column FROM Table WHERE some_co

我想做一个寻呼:

< page >
对于接下来的10条记录:

SELECT some_column FROM Table WHERE some_column ORDER BY some_column LIMIT 10 
SELECT some_column FROM Table WHERE some_column ORDER BY some_column LIMIT 10 OFFSET 10
SELECT some_column FROM Table WHERE some_column ORDER BY some_column DESC LIMIT 10
对于最后10条记录:

SELECT some_column FROM Table WHERE some_column ORDER BY some_column LIMIT 10 
SELECT some_column FROM Table WHERE some_column ORDER BY some_column LIMIT 10 OFFSET 10
SELECT some_column FROM Table WHERE some_column ORDER BY some_column DESC LIMIT 10
问题是:假设我正在查看11-20条记录,我单击以预览1-10条记录

我想要
基本上我的想法是:

  • 如果当前页面是第一页
    (第1页)
    ,则隐藏
您可以使用
$\u GET['page']
并将其用作当前页面的标记:

http://youdomain.php?page=300
首先,您可以初始化它:

$page = isset($_GET['page']) ? $_GET['page'] : 1;
然后确定最后一页:
ceil(总行数/每页行数)

示例:
PDO

$check = $db->query('SELECT COUNT(id) as total FROM TABLE_NAME'); // get total rows
$total_items = $check->fetch(PDO::FETCH_ASSOC)['total']; // 5.4 above (dereference)
$total_pages = ceil($total_items / $limit); // calculate how many pages
// of course this is the last page
因此,现在,只需在两种情况下使用它:

<div class="paging">
    <!-- previous -->
    <?php if($page != 1): ?>
        <a href="?page=<?php echo $page-1; ?>" title="Previous Page">&laquo;</a>
    <?php endif; ?>

    <span><?php echo $page; ?></span> <!-- current page -->

    <!-- next -->
    <?php if($page != $total_pages): ?>
        <a href="?page=<?php echo $page+1; ?>" title="Next Page">&raquo;</a>
    <?php endif; ?>
</div>

示例逻辑:

$db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME;charset=utf8', 'USERNAME', 'PASSWORD');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// paginate using url get `?page=x` where x is a number
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$limit = 10; // default entries

$check = $db->query('SELECT COUNT(id) as total FROM TABLE_NAME'); // get total rows
$total_items = $check->fetch(PDO::FETCH_ASSOC)['total']; // 5.4 above
$total_pages = ceil($total_items / $limit); // calculate how many pages
$offset = ($page - 1) * $limit; // offset

// using limit offset
$query = $db->query("SELECT * FROM TABLE_NAME LIMIT $offset, $limit");
$results = $query->fetchAll(PDO::FETCH_ASSOC);


?>

<table border="1" cellpadding="10">
    <?php foreach($results as $row): ?>
        <tr>
            <!-- just add other info -->
            <td><?php echo $row['id']; ?></td>
        </tr>
    <?php endforeach; ?>
</table>
<div class="paging">
    <?php if($page != 1): ?>
        <a href="?page=<?php echo $page-1; ?>" title="Previous Page">&laquo;</a>
    <?php endif; ?>
    <span><?php echo $page; ?></span>
    <?php if($page != $total_pages): ?>
        <a href="?page=<?php echo $page+1; ?>" title="Next Page">&raquo;</a>
    <?php endif; ?>
</div>
$db=newpdo('mysql:host=localhost;dbname=DATABASE\u NAME;charset=utf8','USERNAME','PASSWORD');
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
//使用url get`?page=x`分页,其中x是一个数字
$page=isset($\u GET['page'])$_获取['page']:1;
$limit=10;//默认条目
$check=$db->query('SELECT COUNT(id)as total FROM TABLE_NAME');//获取总行数
$total_items=$check->fetch(PDO::fetch_ASSOC)['total'];//上文5.4
$total_pages=ceil($total_items/$limit);//计算有多少页
$offset=($page-1)*$limit;//抵消
//使用极限偏移量
$query=$db->query(“从表中选择*名称限制$offset,$LIMIT”);
$results=$query->fetchAll(PDO::FETCH_ASSOC);
?>

检入mysql最小和最大密钥,然后与现有密钥进行比较。如果您的结果集包含该键dont display>,或者伪SQL看起来不错,但问题是关于一个页面。到目前为止,PHP中有哪些内容?应该非常简单:
if(不是第一页)show,因此您可能会使用一个变量来跟踪要使用的偏移量和限制,例如
$page
,如果
$page
0
则不显示
@MikeSteder,我有一个php功能,目前正在获取10条记录,并以html表格格式显示……如果这是您要问的,谢谢您的贡献!:)