0

たとえば、これが私のコードだとしましょう。

$query = "SELECT * FROM ...";
$exec_query = mysql_query($query, $db_connect);
$fetchdetails = mysql_fetch_array($exec_query);

私は次のifような条件を使用しています:

if ($fetchdetails['field_name'] == 3) {
 do something;
}

else {
}

ただし、この場合、fetchdetails配列から比較されるのは1行のみです。その配列の各行を3と比較するにはどうすればよいですか?OOPのソリューションは必要ありません。従来のコーディングを使い続けたいと思います。ありがとうございました。

4

2 に答える 2

4

これを試してください:

while($fetchdetails = mysql_fetch_array($exec_query)) {
 if ($fetchdetails['field_name'] == 3) {
  do something;
 }

 else {
 }

}

これは、while(...)条件を使用して、すべての db (選択した) レコードを反復処理するためです。ループは、録音が終了するとすぐに自動的に停止しますmysql_fetch_array

私はあなたのことを覚えていますmysql_fetch_array

フェッチされた行に対応する文字列の配列を返します。それ以上行がない場合は FALSE を返します。(マニュアルより)

これにより、「あなた」は反復プロセスを停止できます。

于 2012-06-15T13:19:28.650 に答える
1

$fetchdetails 配列のすべての行を比較したい場合は、

foreach($fetchdetails as $index => $value) {
    if($value == 3) { 
        // do something
    }
}

やるべき!すべての SQL 値を反復処理する場合は、他の回答を参照してください。

于 2012-06-15T13:23:29.400 に答える