朋友们,我决定用PostgreSQL作为后端创建一个PHP程序。在这里,我想创建一个页面,显示一些时间表(时间表),用户必须使用单选按钮选择一个选项。我需要将“选定时间 - 15分钟”传递给数据库中的某个字段。我使用的技术如下所示
$a=$dt[$m].' '.$ftime;
for($j=1;$j<=$slots;$j++)
{
echo "<td>";
if($j==1)
{
$a= date("Y-m-d H:i:s", strtotime("$a + 0 minutes"));
$value= date("Y-m-d^H:i:s", strtotime("$a + 0 minutes"));
}
else
{
$a= date("Y-m-d H:i:s", strtotime("$a + $intl minutes"));
$value= date("Y-m-d^H:i:s", strtotime("$a + $intl minutes"));
}
$b=explode(" ",$a);
if(!in_array($a,$res_tm))
echo "<input type='radio' name='radio1' value=$value> $b[1]";
else echo "Reserved";
我使用表单标记在另一个页面中完成了数据库操作。但问题是我想存储正确的值。但是在这里,我得到一个值,它始终是所选值的增量$intl
(15分钟)。但我想传递正确的价值。我发现$value
的值总是比实际值大$intl
分钟,但我无法纠正这一点。
有人请帮助我
答案 0 :(得分:1)
我认为这是因为“else”部分中的$ intl从2开始而不是1。 每次通过“else”部分时,尝试从中减去1(或15)。
if($j==1)
{
// Here you want $intl == 0, which is $j - 1.
// Actually, you can drop the '+ 0 minutes' altogether
$a= date("Y-m-d H:i:s", strtotime("$a"));
$value= date("Y-m-d^H:i:s", strtotime("$a"));
}
else
{
// I am guessing here, since I don't know the contents of $intl or $j.
// You probably need either $intl - 1 or $j - 1.
$intl_adjusted = $intl - 1;
$a= date("Y-m-d H:i:s", strtotime("$a + $intl_adjusted minutes"));
$value= date("Y-m-d^H:i:s", strtotime("$a + $intl_adjusted minutes"));
}