我需要按日期获取结果行,例如,我有
prs_id date desc
1 2015-07-10 Test data1
2 2015-07-10 Test data2
3 2015-07-11 Test data3
med_id prs_id drug dosage
1 1 Pracetamol 3
2 1 calpol 4
3 2 crocin 5
4 3 xxxxxx 8
我需要形成数组并需要像下面这样显示
2015-07-10
1 Test data1
1 1 Pracetamol 3
2 1 calpol 4
2 Test data2
3 3 crocin 5
2015-07-11
3 Test data3
4 3 xxxxxx 8
我尝试了以下代码
$sql = "SELECT * from prescriptions";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$answer[$row['prs_created_date']][] = $row;
}
}
下面的代码只是打印数组,以处方数据为关键,感谢 Marc B。但我需要按照预期的表格打印,我该怎么做。
echo '<pre>';
print_r($answer);
最佳答案
使用 order by date_col
对结果进行排序,然后在 php 中使用以下逻辑显示结果
$sql = "SELECT * from prescriptions order by date_col";
$result = $conn->query($sql);
$date= false;
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
if ($date != $row['date'])
{
echo '<h1>'.$row['date'].'</h1>';
$date = $row['date'];
}
echo '<p>' . $row['id'] . '</p>';
echo '<p>' . $row['desc'] . '</p>';
.
.
.
}
}
关于php mysql 如何以日期方式获取结果行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31348253/