3

我正在尝试使用复选框来显示和更新 MySQL 数据库中的记录。我想根据它是选中还是未选中来更改复选框的值。但我收到了这个错误:

解析错误:语法错误,意外的 T_ENCAPSED_AND_WHITESPACE,需要 T_STRING 或 T_VARIABLE 或 T_NUM_STRING

这是引发错误的代码行:

echo"<input type='checkbox' name='PLJan' {if (isset($_POST['PLJan'])) print 'value='checked''} $row->PLJan /> January ";

我是否有更好的方法来执行此操作,以便如果选中该框,保存它会更新数据库,如果该框未选中,则为空白?

提前感谢您的支持。

4

5 回答 5

3
echo"<input type='checkbox' name='PLJan' {if (isset($_POST['PLJan'])) print 'value='checked''} $row->PLJan /> January ";

应该

echo"<input type='checkbox' name='PLJan'"; 
if (isset($_POST['PLJan'])) { echo " value='checked'"; } 
echo $row->PLJan . "/> January ";
于 2013-07-22T05:48:58.843 回答
1

您的符号完全关闭了……最简单的解决方案是将其分解为多个 echo 语句。

echo "<input type='checkbox' name='PLJan' ";
if (isset($_POST['PLJan'])){  
        echo  "checked='checked'";
} 
echo "value='".$row->PLJan."'/> January ";

有了它,您可以使用三元 if 来简化它

echo "<input type='checkbox' name='PLJan' ";
echo (isset($_POST['PLJan'])?"checked='checked'":"");
echo "value='".$row->PLJan."'/> January ";

如果你想把它压缩成一行,你可以将回声连接在一起

echo "<input type='checkbox' name='PLJan' ".(isset($_POST['PLJan'])?"checked='checked'":"")." value='".$row->PLJan."'/> January ";
于 2013-07-22T05:52:27.143 回答
0
?>
<input type='checkbox' name='PLJan' <?php if (isset($_POST['PLJan'])) echo 'checked="checked"'; ?> /> January
<?php
于 2013-07-22T05:50:06.687 回答
0

尝试这个

<?php

echo"<input type='checkbox' name='PLJan'";

if (isset($_POST['PLJan']))
{
 echo ' checked';
}
echo " {$row->PLJan} /> January ";
?>
于 2013-07-22T05:52:51.273 回答
0

您不能在字符串的模块中包含 PHP 逻辑。你需要打破它:

echo"<input type='checkbox' name='PLJan'";
if (isset($_POST['PLJan'])) echo ' checked';
echo " {$row->PLJan} /> January ";
于 2013-07-22T05:49:37.090 回答