我试图从MySQL中提取一行数据并将其放入数组中,然后在显示结果之前将其反转,然后如果用户确认,它会将反转结果发回mysql
我正在使用此代码:
for($i=0;$i<6;$i++) {
// Make a MySQL Connection
$query = "SELECT * FROM databasedemo WHERE id='$i'";
$result = mysql_query($query)or die(mysql_error());
$row = mysql_fetch_array($result);
array_reverse($row,true);
echo $i."--"."A".$row['A']. " - ". "B".$row['B']. " - ". "C".$row['C']. " - ". "D".$row['D']. " - ". "E".$row['E'];
echo "<br>";
}
我收到此错误
Warning: array_reverse() [function.array-reverse]: The argument should be an array in /home/nlp4mark/public_html/Databasedemo/main.php on line 37
任何帮助都会非常感激。感谢。
答案 0 :(得分:2)
您应该只执行一次此查询,然后遍历结果并显示它们:
$query = "SELECT * FROM databasedemo ORDER BY id DESC";
答案 1 :(得分:0)
$query = "SELECT * FROM databasedemo WHERE id='$i'";
该查询将在当时返回一条记录。您使用for循环发送了6次,这就是您获取所有记录的原因,但是您发送了6次稍微不同的查询。
尝试发送一个返回所有6条记录的查询,然后将其反转。它会是这样的
$sql = "SELECT * FROM databasedemo WHERE 1=1";
for($i=0;i<6;$i++){
$sql .= " AND id=$i";
}
答案 2 :(得分:0)
喜欢这个
select * from (SELECT * from messages INNER JOIN logindata ON messages.author = logindata.id ORDER BY messages.mid DESC LIMIT 0,10) as t ORDER BY t.mid asc