我在查詢中遇到了一些不好的聯繫,我試圖創建'prev_id'來拉入$行結果鏈接。有沒有更好的方法來做到這一點?使用PDO獲取上一行下一行創建鏈接
編輯:錯誤是「檢查對應於您的MySQL服務器版本的手冊,以找到'prev_id'附近使用的正確語法。」
function traversePhoto($the_selected_id) {
global $pdo;
$id = $the_selected_id;
$stmt_a = $pdo->prepare("
(SELECT * FROM images WHERE id < '.intval($id).' ORDER BY id DESC LIMIT 1)
UNION (SELECT * FROM images WHERE id = (SELECT MAX(id) FROM images)) LIMIT 1 prev_id");
$stmt_b = $pdo->prepare("
(SELECT * FROM images WHERE id > '.intval($id).' ORDER BY id ASC LIMIT 1)
UNION (SELECT * FROM images WHERE id = (SELECT MIN(id) FROM images)) LIMIT 1 next_id");
// $vars = array(':id' => $id);
$prev = $stmt_a->execute();
$next = $stmt_b->execute();
if ($prev) {
while($row = $stmt_a->fetchObject()) {
echo '<a href="' . $row['prev_id'] . '">Previous</a>';
}
} else {
echo 'no previous';
}
if ($next) {
while($row = $stmt_b->fetchObject()) {
echo '<a href="' . $row['next_id'] . '">Next</a>';
}
} else {
echo 'no next';
}
}
你可以嘗試存儲會話的查詢結果,並與跟蹤,其中是用戶當前位置等工作..而不是重新計算什麼上一個,下一個,最後一個等,每個頁面請求 – Gntem 2012-08-17 16:39:12
地理 - 這將是什麼樣子? – jessicaldale 2012-08-17 16:44:10
請不要使用'global's ... – 2012-08-17 16:50:10