php - 要在同一页面中显示的复选框值

标签 php mysql smarty

我有一个包含多行和多列的页面。

enter image description here

因此,当用户登录时,如果他在后端有任何条目,它应该显示在前端。显示,如果后端表中值为1,如果后端表中值为0则不勾选。

                        {$i=0}
                        {foreach from=$last7days item=date}
                        <tr>

                             <td><b>&nbsp;&nbsp;{$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/

相关文章:

mysql - 我无法使用 fxml 填充 Javafx TableView

php - 使用 SHA-256 加密创建和检索密码的 php 命令有哪些?

php - 如何在 Laravel 5.2 中使用多重授权

c# - 从 Mysql DB C# 旋转 block 引用

sql - 如何在嵌套 SQL 查询中添加条件?

php - 组织 3 个文件 : PHP, HTML、JS 和 Smarty

php - 如何在 Smarty 中调试变量,如 PHP var_dump()

php - 开源聊天应用程序?

php - javascript 验证是否足以确保我的表单安全?

php - 获取用户在当前页面之前查看的页面