gpt4 book ai didi

PHP - MySQL "next"- "previous"链接与订购

转载 作者:行者123 更新时间:2023-11-29 04:09:30 25 4
gpt4 key购买 nike

我有一张这样的 table

id    |   name      |  image     |    ordering
------+-------------+------------+--------------
1 | name 1 | one.jpg | 5
------+-------------+------------+--------------
2 | name 2 | two.jpg | 2
------+-------------+------------+--------------
3 | name 3 | thr.jpg | 3
------+-------------+------------+--------------
4 | name 4 | for.jpg | 7
------+-------------+------------+--------------
5 | name 5 | fiv.jpg | 1
------+-------------+------------+--------------
6 | name 6 | six.jpg | 9
------+-------------+------------+--------------

我的要求是根据顺序在页面中显示第一张图片。以下查询对我有用

SELECT * FROM images ORDER BY ordering ASC LIMIT 0,1 - row with id 5 will return

接下来我必须在底部显示 2 个链接“Prev”和“Next”(因为这是第一页不需要显示“Prev”)

Okey .. 通过按下“Next”,我必须显示下一页(即根据表格,其 id 为 2 的行)。在该页面中需要显示“prev”,这将导致第一个结果。该页面的“下一步”必须指向 ID 为 3 的行

我试过了

select * from images where id < $local_id order by id desc limit 1
select * from images where id > $local_id order by id asc limit 1

但是因为它有顺序,所以它不会工作......

任何人都可以与我分享想法吗?提前致谢

最佳答案

在 MySQL 中,LIMIT X, Y 是您想要获取的范围,其中 X 是起始行(0 是第一行),Y 是要返回的行数

要实现您想要的效果,您需要为您所在的每个页面使用页码,然后使用它们来计算 X 值,Y 将始终为 1,因为您只希望在每个页面上显示 1 张图像。

像这样的事情会让你开始:

<?php

$page = (isset($_GET['page'])) ? $_GET['page'] : 1;

$startPoint = $page - 1;

$query = "SELECT * FROM images ORDER BY ordering ASC LIMIT $startPoint,1";

$rowCount = 0; // replace this with a count of all your rows/images

那么你的链接就像

<a href="index.php?page=1">First</a>
<a href="index.php?page=<?php echo $page - 1?>">Prev</a>
<a href="index.php?page=<?php echo $page + 1?>">Next</a>
<a href="index.php?page=<?php echo $rowCount;?>Last</a>

关于PHP - MySQL "next"- "previous"链接与订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com