php - 创建用于导航的“下一个”和“上一个”按钮

标签 php mysql

我正在尝试在页面上创建下一个和上一个按钮。我使用 id 来调用数据库中的信息,并使用 id 变量来选择新行和上一行。

它适用于下一个按钮,但上一个按钮始终返回 1 的 id。

这是我在 php 中的函数:

function getNavLinks($subj) {
global $connection;
$query = "SELECT 
( SELECT id FROM artists WHERE id > " . $subj . " LIMIT 1 )
AS nextValue,
( SELECT id FROM artists WHERE id < " . $subj . " LIMIT 1 )
AS prevValue
FROM artists";
$result_set = mysql_query($query, $connection);
confirmQuery($result_set);
//if no rows are returned, fetch array will return false.
if ($Links = mysql_fetch_array($result_set)) {
    return $Links;
}
else {
    return NULL;
}
}

我在 html head 中这样调用它:

<?php
$subj = $_GET['subj'];
$navLink = getNavLinks($subj);
?>

在正文中是这样的:

<?php echo "<a href=\"artist.php?subj=" . urlencode($navLink['prevValue']) . "\">Prev</a>"; ?>&nbsp;
<?php echo "<a href=\"artist.php?subj=" . urlencode($navLink['nextValue']) . "\">Next</a>"; ?>

为什么 $navLink['prevValue'] 返回值 1?

任何帮助都会很棒!

最佳答案

您需要将 SQL 语句更改为:

"SELECT 
( SELECT id FROM artists WHERE id > '$subj' LIMIT 1 )
AS nextValue,
( SELECT id FROM artists WHERE id < '$subj' ORDER BY id DESC LIMIT 1 )
AS prevValue
FROM artists" 

关于php - 创建用于导航的“下一个”和“上一个”按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7394058/

相关文章:

java - 尝试通过 php webservice 发送数组时出现异常

php - 提交任何帖子时出现 WordPress 间距问题

mysql - 如何合并表以选择性地将记录添加到 MySQL 中的第三个表?

mysql - SQL 转换器 (SQLFairy) - 'Invalid statement: Was expecting comment, or use, or set, or drop'

php - 从 Android 中的 editText 检索阿拉伯文本

php - Pchart - 错误轴上的折线图

php - MySQL 数据库在条目中没有转义单引号...如何显示它们?

php - WAMP 不显示目录列表中的图标

php - 如何在每个电子邮件地址中添加单引号或双引号

mysql - 从一个表中减去另一表的行