許多系統上一篇/下一篇實作錯誤,導致跳轉至最新文章而非相鄰 ID。正確邏輯應依文章 ID 排序。
上一篇(ID 較小)
SELECT 欄位 FROM 表名 WHERE id < 3 ORDER BY id DESC LIMIT 1
下一篇(ID 較大)
SELECT 欄位 FROM 表名 WHERE id > 3 ORDER BY id ASC LIMIT 1
function nextPre($tag = 0, $zid, $fid) {
if ($tag) {
$sql = "SELECT 欄位 FROM 表名 WHERE id < $fid ORDER BY id DESC LIMIT 1";
} else {
$sql = "SELECT 欄位 FROM 表名 WHERE id > $fid ORDER BY id ASC LIMIT 1";
}
$result = mysql_query($sql) or die('query error');
if (mysql_num_rows($result)) {
$rs = mysql_fetch_array($result);
return "{$rs['title']}";
}
return '沒有了';
}
參數:$tag=0 下一篇,1 上一篇。確保依 ID 遞增/遞減順序查詢,符合使用者預期的閱讀流程。