选择可用的前一行不工作mysql php

时间:2014-09-06 20:05:02

标签: php html mysql sql

好吧,我在网上找到了这个简单的脚本,用于选择下一行并选择上一行。

这很有效。 (下一页)

$currentid = $_GET['id'];
$nextquery= mysqli_query($conDB,"SELECT * FROM vids WHERE ID > $currentid ORDER BY ID ASC LIMIT 1")or die (mysqli_error($conDB)); 

然而,这个剂量,它返回当前页面ID而不是之前的id 我想要的是它获取数据库上的最后一个可用ID。

$prevquery= mysqli_query($conDB,"SELECT * FROM vids WHERE ID < $currentid ORDER BY ID desc LIMIT 1")or die (mysqli_error($conDB));

请有人帮助我,我会非常感激! :d
最好的问候Dániel

3 个答案:

答案 0 :(得分:0)

要从“vids”表中查找字段“ID”的最大值,您需要使用以下查询:

SELECT ID FROM vids ORDER BY ID DESC LIMIT 1

要查找表格中的上一行和下一行,您使用的查询看起来是正确的,但是在计算$ currentid的第一行中似乎存在拼写错误:

$currrentid = $_GET=['id'];

这一行应该是:

$currrentid = $_GET['id'];

答案 1 :(得分:0)

删除先前查询的DESC

答案 2 :(得分:0)

“我想要的是它获取数据库中最后一个可用的ID。”

`SELECT MAX(ID) FROM table_name;`

将为您提供表格中的最后一个记录ID。

下一步:

select * from table_name where ID = (select min(ID) from table_name where ID > $_GET['id'])

一个:

select * from table_name where ID = (select max(ID) from table_name where ID < $_GET['id'])

或者您可以优化查询并在一次通话中完成所有操作:

select * from table_name where ( 
        ID = IFNULL((select min(ID) from table_name where ID > $_GET['id']),0) 
        or  ID = IFNULL((select max(ID) from table_name where ID < $_GET['id']),0)
)