2

データを xml ファイルに出力しようとしていますが、フェッチされた最後のレコードのみを保存することを除いて、すべて正常に動作しています。

次のクエリが使用されます。

$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
$result = $row['mileage'];
}

私の質問は、各レコードを 3 つの個別の変数に保存して、これらの 3 つの変数を xml ファイルに出力できるようにする方法です。また、最後の日付と最後の時刻でソートされた最後の 3 行のみを取得しようとしているため、クエリがそれを行うのに正しいかどうかはわかりません。

ありがとうございました。

4

5 に答える 5

1
$result=array();
$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$result[]  = $row['mileage'];

}
于 2012-04-29T18:06:40.953 に答える
1

最初に: mysql_* 関数を使用しないでください! それらは廃止されており、代わりにPDOを使用する必要があります。

次に、最も簡単な方法は、結果を含む配列を作成することです。

$result = array();
$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
    $result[] = $row['mileage'];
}

クエリの結果は$result[0]$result[1]とに含まれるようになり$result[2]ました。(PDO を使用する場合、コードはそれほど変わらないように見えます。)

于 2012-04-29T18:00:46.730 に答える
0

代わりに出力を配列として保存してみてください。

$array[]=$value;

$array 配列内に $value をプッシュします。

于 2012-04-29T17:55:22.863 に答える
0

以下を使用できます。

$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
$result[] = $row['mileage'];
}

foreach$result を実行して xml を構築できます。

于 2012-04-29T17:56:59.590 に答える
-1

関数を取得する

function dbGetCol($sql){
  $ret = array();
  $res = mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
  if ($res) {
    while($row = mysql_fetch_row($res)){
      $ret[] = $row[0];
    }
  }
  return $ret;
}

そして、それを呼び出すだけです

$data = dbGetCol("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
于 2012-04-29T17:59:47.137 に答える