默认情况下分配值,允许用户更改它

时间:2014-07-21 18:21:18

标签: php button input

我目前有一个系统,用户,员工,复选框(单选按钮),让雇主知道在某些日期是否可用(值= 1)或不可用(值= 2)。

echo '<ul id="datumselectie">';
echo '<li class="demo"><span class="beschikbaar"></span><span class="onbeschikbaar"></span>    </li>';

while ($datum <= $data) {
echo '<li class="' .strftime('%A',$datum). '">';                
echo strftime('%A %e %B %Y',$datum);
echo '<input type="radio" name="data[' .strftime('%Y-%m-%d',$datum). ']" value="1" />';
echo '<input type="radio" name="data[' .strftime('%Y-%m-%d',$datum). ']" value="0" />';

我想以这样的方式更改系统的工作方式:在接下来的两周内,默认情况下数据的值设置为1,同时让用户可以选择将值更改为0到一周在实际日期之前。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

简而言之,您需要一个简单的DATEDIFF来确定应该选择哪个无线电:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?> 

一旦确定,您只需要使用“已检查”标签编写相应的按钮:

echo '<input type="radio" name="data[' .strftime('%Y-%m-%d',$datum). ']" value="1" checked />';

根据评论添加一件事...... 如果要在数据库中设置它,则需要知道SQL行。当然,假设你正在使用mySQL。

要设置值,取决于范围,它看起来像这样:

UPDATE [tablename] set defaultValue = 1 where [inputDate] between ([startDate] and [endDate]);

只需在那里设置你的价值。你需要starDate成为今天,你的endDate需要两周时间。你在PHP中做到了:

<?php
echo "Today is " . date("Y/m/d") . "<br>";

$date = new DateTime(date("Y/m/d"));
$date->modify('+14 days');
echo $date->format('Y-m-d');
?> 

你必须自己完成其余的编码,但那是基本的想法。 另外,快速搜索mysqli如何工作以获取PHP代码的确切语法,以便在服务器上执行此操作。