【问题标题】:Create an Array for each date and populate each array according to matching dates为每个日期创建一个数组并根据匹配的日期填充每个数组
【发布时间】:2017-08-13 11:02:42
【问题描述】:

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

我已将 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 那样在其他日子循环,它只是显示日期。我有其他每一天的数据。

我确实错过了一些东西,比如另一个循环或其他东西,但我不确定!

提前谢谢你,如果解释得不好,很抱歉。

【问题讨论】:

    标签: php sql arrays loops while-loop


    【解决方案1】:

    知道了,

    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++;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-20
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多