Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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_Sql_Pagination - Fatal编程技术网

Php 简单SQL问题

Php 简单SQL问题,php,sql,pagination,Php,Sql,Pagination,(对不起,我编不出一个好标题) 所以我使用这个分页: $page = $_GET['page']; $max = 5; // if $page is empty, set page number to 1 if (empty($page)) $page = 1; $limit = ($page - 1) * $max; $sql = mysql_query("SELECT * FROM posts ORDER BY date DESC LIMIT $limit, $max"); $t

(对不起,我编不出一个好标题)

所以我使用这个分页:

$page = $_GET['page'];

$max = 5;

// if $page is empty, set page number to 1
if (empty($page)) $page = 1;

$limit = ($page - 1) * $max; 

$sql = mysql_query("SELECT * FROM posts ORDER BY date DESC LIMIT $limit, $max");

$totalres = mysql_result(mysql_query("SELECT COUNT(id) AS tot FROM posts WHERE tid =     1"),0);    

$totalpages = ceil($totalres / $max);
?>
这是可行的,但我想要的是,即使我换了页面,日期最早的帖子也会一直保持在最上面。我该怎么做?我知道你可以,但我不记得怎么做了


希望您能这样做,谢谢

您可能需要执行联合查询,因为您真正需要的是两段数据的组合

  • 最古老的职位
  • 所有其他帖子减去根据页面位置调整的最旧帖子

  • 现在调整您的值,使“开始”页面至少为1(如果为0,您最早的帖子将显示两次)

    只是一个快速提醒,而不是吹毛求疵。去掉这个Select*你选择的所有数据都需要从数据库服务器传输到你的PHP脚本中。William T Wild:你不知道他不需要所有的数据。但是如果你不同意的话,我同意,去掉这个选择。嗯,这里还有其他的答案,很明显,因为匿名的否决票,它的作者删除了这个答案?糟透了。人们应该如何从中学习。。。?
    
        select * from posts order by date DESC limit 0,1
        union
        select * from posts order by date desc limit $start,$end