为每个日期创建一个数组,并根据匹配的日期填充每个数组

时间:2017-03-21 16:26:04

标签: php sql arrays loops while-loop

目前我正在创建一个旅行应用程序。

我已将API与谷歌地图连接在一起,用户可以“将地点/酒店添加到他们的行程中,然后存储在数据库中。”

我希望能够在特定日期为每个地点/酒店/航班创建一个数组,以便我可以为用户输出日历,以向他们展示他们每天所做的事情。

到目前为止,我有;

$eachDay = array(); $i = 0; $j = 0;

foreach ($array as $entriesRow) {
$i++;
$eachDay[$i]['date'] = $entriesRow;
if ($result2->num_rows > 0) {

    while ($row2 = $result2->fetch_assoc()) {

        if ($eachDay[$i]['date'] == $row2['dateGoing']) {
            $j++;
            $eachDay[$i]['title'][$j] = $row2['title'];
        }
    }
}

我得到的回报是

Array ( [date] => 2017-03-21 [title] => Array ( [1] => Sydney Harbour Bridge [2] => World Tower ) ) Array ( [date] => 2017-03-22 ) Array ( [date] => 2017-03-23 ) Array ( [date] => 2017-03-24 ) Array ( [date] => 2017-03-25 ) Array ( [date] => 2017-03-26 ) Array ( [date] => 2017-03-27 ) Array ( [date] => 2017-03-28 ) Array ( [date] => 2017-03-29 ) Array ( [date] => 2017-03-30 )

这对第一天来说很好,但它似乎没有像2017-03-22这样的其他日子循环,只是显示日期。我有其他每一天的数据。

我有点缺少某些东西,比如另一个循环或其他东西,但我只是不确定!

提前谢谢你,如果没有得到很好的解释,对不起。

1 个答案:

答案 0 :(得分:0)

知道了,

foreach ($array as $entriesRow) {
$i++;
$eachDay[$i]['date'] = $entriesRow;
$j = 0;
foreach ($places as $v) {
    if($eachDay[$i]['date'] == $v['dateGoing']){
        $eachDay[$i]['title'][$j] = $v['title'];
        $j++;
    }
}