IDと値を含む行を持つデータベースがあります。値を並べ替えるphp mysql
私はレコードを挿入するときにランダムに値1と100の間にこれらの値を挿入するので、IDはランダムな値を持ちます。 whileループを使ってレコードを調べ、それらを画面に出力します。しかし、whileループの行の現在の値が次の値よりも小さい場合は、ループから抜け出すことが望ましいです。基本的に私が求めているのは、データベースの次のレコードを参照する方法です。whileループでは、現在の値をチェックするだけです。
IDと値を含む行を持つデータベースがあります。値を並べ替えるphp mysql
私はレコードを挿入するときにランダムに値1と100の間にこれらの値を挿入するので、IDはランダムな値を持ちます。 whileループを使ってレコードを調べ、それらを画面に出力します。しかし、whileループの行の現在の値が次の値よりも小さい場合は、ループから抜け出すことが望ましいです。基本的に私が求めているのは、データベースの次のレコードを参照する方法です。whileループでは、現在の値をチェックするだけです。
$lastRecord = Array();
foreach($records as $thisRecord){
if($lastRecord['value'] < $thisRecord['value']){
// do what you need to do here
}
$lastRecord = $thisRecord;
}
あなたは常にそれを他の方法でラウンドを行い
を保存前の値を保持するこの方法です。次の要素に基づいて分割する代わりに、次の要素(これは単にどこかに格納することができます)に基づいてをチェックしてください。私はループが実際に要素をループして何かをすると思います。あなたは何もする前に前の/現在の要素最初にをチェックすることができ、誰もあなたが実際に次の要素をロードしたことに気づかないでしょう。
これを試してみてください:
$previousRow = mysql_fetch_assoc($result);
$previousRow['ID'] = -1;
while($currentRow = mysql_fetch_assoc($result))
{
if($currentRow['ID'] > $previousRow['ID'])
break;
echo $previousRow['Value'];
$previousRow = $currentRow;
}
'$ previousRow ['ID']'を '0'または' -1'で初期化したいと思います。 – Gumbo
@Gumbo、nice point。 – shamittomar
私はむしろ意味:最初の行をフェッチしないで、 '$ previousRow ['ID']'をある値で初期化するだけです。 – Gumbo
を正確にあなたの質問は何? –