私はこのphpスクリプトを作成し、次の行と前の行を返すようにしようとしていますが、IDを入力すると、スクリプトが別のものを返すなどの問題が1つあります。
これは私のデータベースです
ID String
1 Test 1
2 Test 2
3 Test 3
4 Test 4
したがって、./index.php?id=1 を入力すると、id=2 および id=2 => id=3 などの結果が返されます... 私の質問は、+1 ではなく正確な結果を返すように修正する方法です. <= または => 演算子を試してみましたが、結果は正しいのですが、リンクが機能しません。
ここにスクリプトがあります
<?php
if(isset($_GET['id']))
{
$id = (int)$_GET['id'];
}else
{
$id = 0;
}
$stmt1 = $db->prepare("SELECT * FROM records WHERE id > ? ORDER BY id ASC LIMIT 1");
$stmt1->bindValue(1,$id);
$stmt1->execute();
$row = $stmt1->fetch();
$stmt2 = $db->prepare("SELECT * FROM records WHERE id < ? ORDER BY id DESC LIMIT 1");
$stmt2->bindValue(1,$id);
$stmt2->execute();
$row = $stmt2->fetch();
echo $row['id'];
echo "<br/>";
echo $row['string'];
?>