Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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 获取前面的id并继续查询id_Php_Mysql - Fatal编程技术网

Php 获取前面的id并继续查询id

Php 获取前面的id并继续查询id,php,mysql,Php,Mysql,我有一个功能,可以获取特定id的记录,并有两个链接用于上一条记录和下一条记录。现在我有单独的查询来获取下一个id: $query = "SELECT id FROM presentations WHERE id > '$getId' ORDER BY id ASC LIMIT 1"; $getId是当前id 有没有一种方法可以合并到一个查询中 SELECT A.id AS previd, B.id AS nextid FROM (SELECT id FROM presentati

我有一个功能,可以获取特定id的记录,并有两个链接用于上一条记录和下一条记录。现在我有单独的查询来获取下一个id:

$query = "SELECT id FROM presentations WHERE id > '$getId' ORDER BY id ASC LIMIT 1";
$getId是当前id

有没有一种方法可以合并到一个查询中

SELECT A.id AS previd, B.id AS nextid 
FROM 
  (SELECT id FROM presentations WHERE id < '$getId' ORDER BY id DESC LIMIT 1) A,  
  (SELECT id FROM presentations WHERE id > '$getId' ORDER BY id ASC LIMIT 1) B

返回两列:previd和nextid,围绕$getId

我认为可以使用内部查询

SELECT id FROM presentations 
WHERE id >= ( SELECT id FROM presentations WHERE id < '$getId' ORDER BY id DESC LIMIT 0 , 1 ) 
ORDER BY id ASC LIMIT 0 , 3

第一个数组结果是前一条记录,第二个是当前记录,最后一个是最后一条记录。

它们是否总是按顺序排列?如果不是的话,就需要一个单独的关系表来轻松访问prev/next.com,从技术上讲,它现在是3个查询,尽管我看不到任何其他方法可以做到这一点。因此,+1注释编辑-我在第一个顺序中缺少了DESC修饰符