循环通过表PHP

时间:2017-05-20 09:46:21

标签: php html

下面是我的PHP脚本填充HTML表格的while循环。我希望底部的IF语句根据其值设置<td id="status"></td>的属性。但是当我运行代码时,只设置第一行中的值。 我想问题是在循环中使用单个元素ID。我可以对表格中的每一行使用元素ID "status"吗?

while($row=mysqli_fetch_assoc($result)){
                $dd=strtotime($row["due_date"]);
                $dd=Date('d-m-Y',$dd);
                $bd=strtotime($row["borrow_date"]);
                $bd=Date('d-m-Y',$bd);

                echo '
                <tr>
                <td>'.$row["user_email"].'</td>
                <td>'.$row["last_name"].'</td>
                <td>'.$row["first_name"].'</td>
                <td>'.$row["movie_ID"].'</td>
                <td>'.$row["title"].'</td>
                <td>'.$row["year"].'</td>
                <td>'.$bd.'</td>
                <td>'.$dd.'</td>
                <td id="status"></td>



                </tr>
                ';
                $i++;

                if($dd<$cd){
                    echo' <script type="text/javascript">
                    document.getElementById("status").innerHTML="Overdue";
                    </script>';
                }
                else{
                    echo '
                    <script type="text/javascript">
                    document.getElementById("status").innerHTML="Not Due";
                    </script>';
                }
            }

2 个答案:

答案 0 :(得分:3)

首先 - 你不能为多个元素使用相同的ID。

阅读功能名称:getElementById。请参阅 - Element,而不是Elements。这就是为什么使用getElementById只返回第一个元素。

更进一步 - 您可以在php中检查条件(例如,使用简单的三元运算符)并忘记javascript:

    // previous code here
    '<td>'.$dd.'</td>
    <td>' . ($dd<$cd? 'Overdue' : 'Not Due') . '</td>
</tr>';
$i++;

答案 1 :(得分:1)

简单地说你可以在php中自己做

if($dd<$cd){
      echo '<td>Overdue</td>';  
     }else{
     echo  '<td>Not Due</td>';
    }