更改mysqli_result中的行顺序

时间:2016-01-31 19:13:25

标签: php

例如我有代码

$query="Select * from table order by id";
$res1=mysqli_query($link,$query);

while($row=mysqli_fetch_array($res1)) {
echo $row['Id'];
}

echo '<br>';

$query="Select * from table order by user";
$res1=mysqli_query($link,$query);

while($row=mysqli_fetch_array($res1)) {
echo $row['Id'];
}

可以在没有第二次查询且不使用array and foreach的情况下执行此操作,从第一次查询更改resul1中的行顺序获得第二次查询中的订单。

3 个答案:

答案 0 :(得分:1)

您可以一次轻松地按多个字段排序:

$query = "SELECT * FROM table ORDER BY id, user ";
$res1 = mysqli_query($link,$query);
....

答案 1 :(得分:1)

你可以通过在mysql查询中传递一个php变量来实现这一点。

 $query="Select * from table order by $order";

并根据需要设置$ order。

$query = "SELECT * FROM table ORDER BY id, user ";

这将首先按ID然后按用户订购您的数据。

答案 2 :(得分:0)

您可以在PHP中更改结果的顺序。

  1. 将所有结果导入PHP数组。
  2. 写一个比较函数。
  3. 使用usort http://php.net/manual/en/function.usort.php