我有一个包含多行和多列的页面。
因此,当用户登录时,如果他在后端有任何条目,它应该显示在前端。显示,如果后端表中值为1,如果后端表中值为0则不勾选。
{$i=0}
{foreach from=$last7days item=date}
<tr>
<td><b> {$date}</b><input type='hidden' name='date[]' value ='{$date}'></td>
<td><input type='checkbox' name='BREAKFAST[]' value='1' ><input type='hidden' name='BREAKFAST[]' value='0'></td>
<td><input type='checkbox' name= 'LUNCH[]' value='1'><input type='hidden' name= 'LUNCH[]' value='0'></td>
<td><input type='checkbox' name= 'EVENING[]' value='1'><input type='hidden' name= 'EVENING[]' value='0'></td>
<td><input type='checkbox' name= 'DINNER[]' value='1'><input type='hidden' name= 'DINNER[]' value='0'></td>
<td><input type='checkbox' name= 'MIDNIGHT[]' value='1'><input type='hidden' name= 'MIDNIGHT[]' value='0'></td>
</tr>
{/foreach}
对于 php :-
$show_details = mysql_query("select id,user,date,BREAKFAST,LUNCH,EVENING,DINNER,MIDNIGHT,timeUpdate from phpgroupware_new.foodPlan
user='$name'");
表格:-
mysql> select * from foodPlan; +----+------------+------------+-----------+-------+---------+--------+----------+---------------------+ | id | user | date | BREAKFAST | LUNCH | EVENING | DINNER | MIDNIGHT | timeUpdate | +----+------------+------------+-----------+-------+---------+--------+----------+---------------------+ | 1 | monisha.md | 2015-03-07 | 1 | 1 | 1 | 1 | 1 | 2015-03-07 11:43:45 | | 2 | monisha.md | 2015-03-08 | 0 | 0 | 0 | 0 | 0 | 2015-03-07 11:43:45 | | 3 | monisha.md | 2015-03-09 | 0 | 0 | 0 | 0 | 0 | 2015-03-07 11:43:45 | | 4 | monisha.md | 2015-03-10 | 0 | 0 | 0 | 0 | 0 | 2015-03-07 11:43:45 | | 5 | monisha.md | 2015-03-11 | 0 | 0 | 0 | 0 | 0 | 2015-03-07 11:43:45 | | 6 | monisha.md | 2015-03-12 | 0 | 0 | 0 | 0 | 0 | 2015-03-07 11:43:45 | | 7 | monisha.md | 2015-03-13 | 0 | 0 | 0 | 0 | 0 | 2015-03-07 11:43:45 | | 8 | admin | 2015-03-07 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | | 9 | admin | 2015-03-08 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | | 10 | admin | 2015-03-09 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | | 11 | admin | 2015-03-10 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | | 12 | admin | 2015-03-11 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | | 13 | admin | 2015-03-12 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | | 14 | admin | 2015-03-13 | 1 | 1 | 0 | 0 | 0 | 2015-03-07 12:35:57 | +----+------------+------------+-----------+-------+---------+--------+----------+---------------------+ 14 rows in set (0.00 sec)
最佳答案
我认为你应该删除定义不同值 0 的其他隐藏输入,只包含第一个值为 1 的输入。也许这可以帮助你开始,除非我误解了你的问题
if (isset($_POST['BREAKFAST'])
{
$breakfast = $_POST['BREAKFAST'];
foreach($breakfast as $item)
if($item == 1) //that means box is checked
// what do you want to do
else
// what you want to do if box is not checked
}
你实际上不需要为你的输入使用数组,你只需要一个变量就可以了
关于php - 要在同一页面中显示的复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28913104/