実際、私はこの質問のタイトルを紛らわしかった。私はこのような状態があります。 limit
をselect * from table_name limit 0,5
のように使用してデータベースからレコードを取得すると、0から5までのデータが得られます。limit 5,10
を使用すると、5から10レコードが取得されます... phpを使用してレコードの特定のインデックスを表示できますか?データベースからデータの詳細を取得する方法は?
ありがとうございました...
実際、私はこの質問のタイトルを紛らわしかった。私はこのような状態があります。 limit
をselect * from table_name limit 0,5
のように使用してデータベースからレコードを取得すると、0から5までのデータが得られます。limit 5,10
を使用すると、5から10レコードが取得されます... phpを使用してレコードの特定のインデックスを表示できますか?データベースからデータの詳細を取得する方法は?
ありがとうございました...
あなたは間違ってLIMITを使用しています。 LIMITはSTART、LENGTHです。 LIMIT 5、5を実行すると、5(5-9)から5つのレコードが得られます。
乾杯、
エリック
編集:だけでなく、この上MySQL documentationを参照してください。それは確かに便利です!
もう1つの編集:この質問は私が答えてから編集されているので、もう一度答えます。それはあなたが戻っている行のインデックスを取得したいと思われるので、ここでそれを取得するためのSQL文です:
set @myStart = 5;
set @myLimit = 10;
set @i = @myStart - 1;
select id, @i:[email protected]+1 as myrow from mytable limit @myStart, @myLimit
注:私はhereからこの解決策を取りました。
彼は正しく使用しているように聞こえます。 HesはLIMIT 5,10を使用して5行から14行になります。Hesは次のように言っています。「制限5,10を使用すると5から10レコードが得られます。 –
あなたは正しいです。私はそれに答えたので質問が変わったので、本当の質問に答えました。 – Eric
質問を正しく読んでいると、データベースから取得した各レコードとともにインデックスを表示しようとしています。私はレコードを表示するために使用していたループ内のカウンタを使ってこれを行います。
ループの前にカウンタをオフセットに設定してから、それを増やします。これがカウンターを表示するだけの問題であれば、それは本当に簡単です。後で作業するためにそのインデックスを使用するのは少しだけ複雑ですが、それほど多くはありません。
LIMIT x、nよりもあいまいさが少ないので、LIMIT n OFFSET xを使用することをお勧めします。 – staticsan