如果TD-id == $ var-date - >显示$ var name tp specific td -Laravel 5.3

时间:2017-01-04 06:48:37

标签: php dynamic calendar laravel-5.3

我在这里很难过。

我有一个每周的日历。每个td都有一个月中指定日期的ID。

enter image description here

我想要做的是在日历td

中为每个特定日期显示这些菜单

这是我的菜单表 enter image description here

我知道我应该格式化menuDate以匹配td中的日期。我在我的雄辩查询中处理了这个问题。不包括在这里

这是我显示日历的代码

控制器:

date_default_timezone_set('Asia/Hong_Kong');
  $year = (isset($_GET['year'])) ? $_GET['year'] : date("Y");
  $week = (isset($_GET['week'])) ? $_GET['week'] : date('W');
  if($week > 52) {
      $year++;
      $week = 1;
  } elseif($week < 1) {
      $year--;
      $week = 52;
  }

查看:

    <table class = "table">
    <tr>
      @if($week < 10)
        <?php
          $week = '0'. $week;
        ?>
      @endif

      @for($day= 1; $day <= 7; $day++)
        <?php
          $d = strtotime($year ."W". $week . $day);
          echo "<td = id '".date('y-m-d', $d)."'>"
                  .date('Md', $d) ."<br>". date('D', $d)
              ."</td>";
        ?>
      @endfor
    </tr>
</table>

有人可以帮我解决这个问题吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

当您使用Laravel时,您可以访问Carbon,就像DateTime一样,但需要大量帮助方法http://carbon.nesbot.com/docs/

此外,使用Laravel,您可以使用Request(以及其他内容)从请求中获取参数。您还可以为这些提供默认值。 https://laravel.com/docs/5.3/requests#retrieving-input

无论哪种方式,你都可以这样做:

控制器方法

public function yourMethod (\Illuminate\Http\Request $request) {

    $year = $request->input('year', date("Y"));
    $week = $request->input('week', date('W'));

    $date = \Carbon\Carbon::now('Asia/Hong_Kong')->setISODate($year, $week);

    return view('test', compact('date'));

}

刀片文件

<table class = "table">
   <tbody>
   <tr>
       @for($day= 1; $day <= 7; $day++)

           <td id="{{ $date->format('Y-m-d') }}">
               {{ $date->format('M d') }} <br>
               {{ $date->format('D') }}
           </td>

           <?php $date->addDay() ?>
       @endfor
   </tr>
   </tbody>
</table>

希望这有帮助!