我想制作一个考勤表,将输入表单中输入的日期放在右侧第三列的标题中。在以下列的标题中,此日期将增加7天。
我有三个问题:
- 为什么标题中没有填写日期
- 如何在if语句中插入html表
- 如何使日期列的宽度变大1个字符
我创建了一个输入表单forum.php
和一个动作脚本gen-table.php
。
输入形式forum.php
:
<!DOCTYPE html>
<html>
<style>
td, th {
border: 4px solid lightblue;
text-align: left;
padding: px;
}
</style>
<h2> ATTENDANCE LIST </h2>
</head>
<body>
<form action="gen-table.php" method="post">
<p>
<label for="startdate">Startdate:</label>
<input type="date" name="startdate" id="startdate" />
<input type="submit" value="Select and Activate" />
</p>
</body>
</html>
动作脚本gen-table.php
:
<!DOCTYPE html>
<html>
<style>
td, th {
border: 4px solid lightblue;
text-align: left;
padding: px;
}
</style>
<h2> ATTENDANCE LIST </h2>
</head>
<?php
if (isset($_POST[startdate])) {
$day1 = date('d-m-Y',strtotime(startdate ."+0 Days"));
$day2 = date('d-m-Y',strtotime(startdate ."+7 Days"));
$day3 = date('d-m-Y',strtotime(startdate ."+14 Days"));
$day4 = date('d-m-Y',strtotime(startdate ."+21 Days"));
}
else
{
echo "Select startdate";
}
?>
<table>
<th>Lastname</th>
<th>Firstname</th>
<td><?php print $day1 ?> </td><td><?php echo $day2 ?></td><td><?php echo $day3 ?> </td><td><?php echo $day4 ?> </td>
</table>
</html>
答案1.日期生成不正确。在strtotime()
中,应该传递$_POST
数组中的值。
更换
date('d-m-Y',strtotime(startdate ."+0 Days"));
...
至
date('d-m-Y',strtotime($_POST['startdate'] . "+0 Days"));
...
答案2.您可以转储html表,条件如下-
<?php if(condition is true): ?>
html <table> goes here
<?php endif; ?>
答案3.这个问题很令人困惑,但根据我的假设,你可以使用字体大小使文本更大,也可以使用填充来给文本留出更大的空间。