我正在尝试将数据输出到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行,所以不确定查询是否正确。
谢谢。
答案 0 :(得分: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,代码看起来并没有太大差异。)
答案 1 :(得分: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'];
}
答案 2 :(得分:0)
尝试将输出保存为数组。
$array[]=$value;
将推送$ array数组中的$值。
答案 3 :(得分: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
$结果并构建您的xml。
答案 4 :(得分:-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");