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/

相关文章:

javascript - smarty模板引擎可以用来在客户端创建模板吗?

php - Paypal 优惠券代码结帐

mysql - 统一并简化 MySQL 命令

php - Smarty:从数据库返回数据

MySQL "Incorrect index name..."错误(唯一外键)

mysql - 使用“加载数据文件”加载时更改日期格式

php - 添加 jquery 时,即使使用文字标签,tpl 文件也不起作用

php - INSERT 查询根本不添加

php - 使用 PHP while 循环创建 HTML 表以显示数据并允许用户提交到特定行

php - 通过 OpenVPN 或 PPTP 的 cURL