У меня есть страница с несколькими строками и столбцами.
Итак, когда пользователь вошел в систему, если у него есть какая-либо запись в серверной части, она должна отображаться во внешнем интерфейсе. Отображать, если значение 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)
2 ответа
Я думаю, вам следует удалить другой скрытый ввод, который определяет другое значение 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
}
Вам на самом деле не нужно использовать массив для ввода, вы будете в порядке, используя только переменную
Попробуй это,,
<input type="checkbox" <?php
echo($breakfast == 1)? 'checked="checked"' : ''?> name="BREAKFAST[]" value="<?php echo $breakfast; ?>" >
$ breakfast - это значение из вашей базы данных, полученное из цикла for.
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.