私はプログラミングにかなり慣れておらず、SQLクエリの結果を順番に表示しようとしているときに、この無限のwhileループにはまってしまいました。
私のエントリはmySQLテーブルの中で日付順に並べられています。
結果を表示すると、正しい順序で表示されますが、カウンターと表示結果を順序1、2、3 ...などにしたいと思いました。
今のところ、テーブル "eventtable"のmySQL変数 "EVENTID"から直接HTMLテーブルのEventIDを表示しています。
これはEVENTIDを表示していますが、これはもちろん順番通りではありません。
そのため、whileループを試しましたが、mysqli_fetch_array()が返す最初の行から逃げることはできないようです。
任意の助け/提案は大歓迎です。
回答:
回答№1は1このカウンタは実際のクエリ結果の一部にする必要がありますか、それともユーザに表示するものにすぎませんか。ユーザー表示は簡単です:
$counter = 1;
while($row = fetch_result_row_using_your_db_library()) {
echo $counter;
$counter++;
... do other stuff ..
}
DBレベルでそれを実行することは非常に厄介で、クエリフィールドにDB変数と自己インクリメントカウンタを含みます。
SET @row := 0;
SELECT @row := @row + 1 AS currow, * FROM .... WHERE ... ORDER BY ...