Php 基于“我的日历”中可用日期的多个复选框

Php 基于“我的日历”中可用日期的多个复选框,php,Php,我有一段简单的代码,可以让我回显特定月份的开始和结束日期,我正在尝试创建一个注册系统 我将表中的日期作为表头,然后在第一列中输入成员名称。我想要实现的是每天都有一个复选框或无线电元素,但我正在努力实现这一点,我没有得到预期的结果,而是得到了以下结果: 2013-10-01 13:44:213欧洲/柏林2013-10-01 13:44:213欧洲/柏林 由此: <?php $dt = "<td><input type='checkbox' name='student

我有一段简单的代码,可以让我回显特定月份的开始和结束日期,我正在尝试创建一个注册系统

我将表中的日期作为表头,然后在第一列中输入成员名称。我想要实现的是每天都有一个复选框或无线电元素,但我正在努力实现这一点,我没有得到预期的结果,而是得到了以下结果:

2013-10-01 13:44:213欧洲/柏林2013-10-01 13:44:213欧洲/柏林

由此:

 <?php  
 $dt = "<td><input type='checkbox' name='student[davidsmith]' value='Y' checked /></td>";
 foreach($startDate as $dt){
 echo "$dt";
} ?>

对代码的评论:

您将获得发布的结果,因为:

  • foreach($startDate as$dt)中的
    $startDate
    不是数组,因此没有循环
  • 当您说as
    $dt
    时,您将$dt变量隐藏过度,因此
    $dt=“”的行为就好像它从未存在过一样
    
  • 我的解决方案:
    现在,如果我理解正确,我相信这就是您正在寻找的代码

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Attendance Example</title>
    </head>
    
    <body>
    
    <form action='this_page.php' method='post'>
    <table>
    <th>Member</th>
    <?php 
    $startDate = new DateTime();
    $endDate = new DateTime('2013-09-31');
    $days = array();
    
    for ($c = $startDate; $c <= $endDate; $c->modify('+1 day')) {
           echo "<th>".$c->format('d')."</th>";array_push($days,$c); }
     ?>
    <tr>
        <td>Memeber One</td>
    
         <?php  
    
         foreach($days as $dt){
         echo '<td><input type="checkbox" name="student[davidsmith]" value="'.$dt->format('d') .'" /></td>';
       } ?>
    
    </tr>
    <tr>
        <td>Member Two</td>
     <?php  
          foreach($days as $dt){
         echo '<td><input type="checkbox" name="student[davidsmith]" value="'.$dt->format('d') .'" /></td>';
       } ?>
    </tr>
    </table>
    </form>
    </body>
    </html>
    
    
    出席率示例
    成员
    Memeber一号
    成员二
    
    首先,我们将日期放入一个数组中,然后循环它们,并为每一天创建复选框。每个复选框应具有与其所代表的日期相对应的值。希望这就是你要找的

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Attendance Example</title>
    </head>
    
    <body>
    
    <form action='this_page.php' method='post'>
    <table>
    <th>Member</th>
    <?php 
    $startDate = new DateTime();
    $endDate = new DateTime('2013-09-31');
    $days = array();
    
    for ($c = $startDate; $c <= $endDate; $c->modify('+1 day')) {
           echo "<th>".$c->format('d')."</th>";array_push($days,$c); }
     ?>
    <tr>
        <td>Memeber One</td>
    
         <?php  
    
         foreach($days as $dt){
         echo '<td><input type="checkbox" name="student[davidsmith]" value="'.$dt->format('d') .'" /></td>';
       } ?>
    
    </tr>
    <tr>
        <td>Member Two</td>
     <?php  
          foreach($days as $dt){
         echo '<td><input type="checkbox" name="student[davidsmith]" value="'.$dt->format('d') .'" /></td>';
       } ?>
    </tr>
    </table>
    </form>
    </body>
    </html>