php mysql如何在datewise

时间:2015-07-10 18:53:10

标签: php mysql

我需要将结果行作为日期明智,例如,我有

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);

2 个答案:

答案 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帮助我解决问题。