gpt4 book ai didi

PHP mysql - 创建下一个和上一个链接(我的解决方案出错)

转载 作者:行者123 更新时间:2023-11-29 00:53:23 25 4
gpt4 key购买 nike

这是我问的另一个问题的续集:PHP/SQL creating links to next row in a database

我发现这个解决方案可以创建 NEXT 和 PREVIOUS 链接。现在我需要将它转换成一些有用的 PHP 代码。

解决方法如下:

SELECT id 
FROM database AS c
WHERE (id = (SELECT MAX(id) FROM database WHERE id < c.id AND language = 'en')
OR id = (SELECT MIN(id) FROM database WHERE id > c.id AND language = 'en'))

我如何从中创建下一个和上一个链接?

我尝试了什么:

$result = mysql_query("
SELECT id
FROM database AS c
WHERE (id = (SELECT MAX(id) FROM database WHERE id < c.id AND language = 'en')
OR id = (SELECT MIN(id) FROM database WHERE id > c.id AND language = 'en'))
");
while($row = mysql_fetch_array($result))
{
$nextlink = "<a href='http://www.domain.com/".$row['c.id'].".html'>Next</a>";
echo $nextlink;
}

这没有任何显示。另一个问题是我还需要提取另一个名为 permalink 的 colum_name,以便完成下一个链接。

把我当成一个 PHP 新手,所以你真的要说清楚。谢谢

编辑:我刚刚意识到当前 ID 没有包含在解决方案的任何地方?

最佳答案

我相信你想看更多这样的东西:

SELECT c.id,
(SELECT MAX(p.id) FROM database p WHERE p.id < c.id AND p.language = 'en') prev_id
(SELECT MIN(n.id) FROM database n WHERE n.id > c.id AND n.language = 'en') next_id
FROM database AS c
WHERE c.id = [current position]

因此,您的 SQL 将只处理一行:

while($row = mysql_fetch_array($result))
{
$prevlink = "<a href='http://www.domain.com/".$row['c.prev_id'].".html'>Previous</a>";
$nextlink = "<a href='http://www.domain.com/".$row['c.nexT_id'].".html'>Next</a>";
echo $nextlink;
}

关于PHP mysql - 创建下一个和上一个链接(我的解决方案出错),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7276294/

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