前提・実現したいこと
phpを使ってブログの様なものを作っています。
記事の最後に「次の記事へ」のリンクをつけたいのですが、データベースからの取得が上手くできません。
それぞれの記事のidでデータを取得していますが、このidに欠番がある場合は次のidのデータを取るようにしたいです。
問題点
下記の方法で「次へ」のボタンが押されるときにidに+1をして、
idの昇順に並べて一番上のデータを取得するようにしました。
これだと、例えば5,6,7のidが欠番になっている場合に、全てid=8の時のデータが表示されてしまいます。
(urlは~?blog_id=5となっているのに、~?blog_id=8と同じものが表示されます。)
どうすれば欠番を飛ばしてくれるでしょうか?
該当のソースコード
<form action="blog.php" method="get"> <input type="hidden" name="blog_id" value="<?php print ++$id;?>"> <input type="submit" value="次へ"> </form>
php
1$id=$_GET['blog_id']; 2 3$dsn='mysql:dbname=#;host=#;charset=utf8'; 4$user='#'; 5$password='#'; 6$dbh= new PDO($dsn,$user,$password); 7$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 8 9$sql='SELECT ~ 10 FROM T 11 WHERE id>=? 12 ORDER BY id ASC 13 LIMIT 1'; 14 $stmt=$dbh->prepare($sql); 15 $data[]=$id; 16 $stmt->execute($data); 17 18 $rec=$stmt->fetch(PDO::FETCH_ASSOC); 19 20 $dbh=null;
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。