我需要将结果行作为日期明智,例如,我有
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);
答案 0 :(得分:0)
使用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>';
.
.
.
}
}
答案 1 :(得分:0)
使用date和prs_id创建一个multidimesional数组为我做了诀窍。
继承人的代码
$answer[$row['prs_created_date']][$row['prs_id']][] = $row;
感谢Marc B帮助我解决问题。