1

PDO SQLコード:

while($r = $q->fetch(PDO::FETCH_ASSOC)){
    $gg = join('</td><td>', $r);
    echo "<tr><td>" . $no_count . "</td><td>" . $gg . "</td></tr>";
    $no_count = $no_count + 1;      
}

変数$rはレコードですが、フィールド名をエコーするにはどうすればよい$rですか?

$r「製品」と「価格」の2つの異なるフィールドからレコードを運ぶとしましょう。の値$rは「apple」、「130」です。「usd」を「130」に追加するにはどうすればよいですか?

私は次のようなものが必要です...if $field_name == "$r['price']" { $r = join('usd', $r); };

マイクBのおかげで、もうすぐです:

while($r = $q->fetch(PDO::FETCH_ASSOC)){
            foreach ($r as $name => $value) {
                if ($name == "price"){
                     $r = "usd" . $value; // this line got problem, how to change the value in an array variable $r?
                }
            }

            $gg = join('</td><td>', $r);
            echo "<tr><td>" . $no_count . "</td><td>" . $gg . "</td></tr>";
            $no_count = $no_count + 1;              
}
4

1 に答える 1

3

array_keys($r)連想配列をフェッチしているので、テーブルからフィールドのリストを取得します。

ループすることもできます$r

foreach ($r as $name => $value) {
  print "$name: " . $value;
}

アップデート

//この行に問題が発生しました、配列変数$ rの値を変更するにはどうすればよいですか?

$r[$name] = 'usd' . $value;

元の名前に編集します。foreachループの変数にキーがあるので、$name直接設定できます。

于 2012-06-04T21:47:51.380 に答える