我正在使用这段代码,
$result1 = mysqli_query($con,$query)or die ("Error". mysqli_error($con)) ;
while($res1 = mysqli_fetch_array($result1)) {
echo "<td>"($res1['date'])."</td>";
echo "<td>"($res1['amount'])."</td>";
echo "</tr>";
}
显示以下数据:
2016-07-01 15
2016-07-02 12
2016-07-03 47
2016-07-04 21
2016-07-05 38
2016-07-06 84
2016-07-07 57
2016-07-08 12
现在想要从$result1
生成另一个数组,以仅提取或显示此数据:
2016-07-05 38
2016-07-06 84
2016-07-07 57
2016-07-08 12
但我不想修改这一行
$result1 = mysqli_query($con,$query1)or die ("Error". mysqli_error($con)) ;
实际上我想从数组中提取一些特定的日期。即我想要date > 2016-07-04
是否可以从其他阵列创建数组?
由于
答案 0 :(得分:0)
鉴于您不想修改查询的约束,您必须使用mysqli_result::data_seek
。 mysqli_result::data_seek
会将结果指针调整为指向结果集的开头,以便您可以再次遍历它,如下所示:
$result1 = mysqli_query($con,$query)or die ("Error". mysqli_error($con)) ;
while($res1 = mysqli_fetch_array($result1)) {
echo "<td>" . $res1['date'] ."</td>";
echo "<td>" . $res1['amount'] ."</td>";
echo "</tr>";
}
// adjust the result pointer to point to the beginning of the result set
$result1->data_seek(0);
// now iterate through the result set again, based on the condition: date > '2016-07-04'
while($res1 = mysqli_fetch_array($result1)) {
if($res1['date'] > '2016-07-04'){
echo "<td>" . $res1['date'] ."</td>";
echo "<td>" . $res1['amount'] ."</td>";
echo "</tr>";
}
}
以下是参考资料: