我正在尝试使用复选框来显示和更新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 ";
我是否有更好的方法来执行此操作,以便保存它将使用“已检查”更新数据库(如果选中此框),如果未选中此框则为空白?
提前感谢你们的停机。
答案 0 :(得分: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 ";
答案 1 :(得分:1)
你的符号完全没有...最简单的解决办法是将它分解为多个回声语句。
echo "<input type='checkbox' name='PLJan' ";
if (isset($_POST['PLJan'])){
echo "checked='checked'";
}
echo "value='".$row->PLJan."'/> January ";
有了这个,您可以使用三元组来简化它
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 ";
答案 2 :(得分:0)
您不能在字符串中间包含PHP逻辑。你需要分解它:
echo"<input type='checkbox' name='PLJan'";
if (isset($_POST['PLJan'])) echo ' checked';
echo " {$row->PLJan} /> January ";
答案 3 :(得分:0)
?>
<input type='checkbox' name='PLJan' <?php if (isset($_POST['PLJan'])) echo 'checked="checked"'; ?> /> January
<?php
答案 4 :(得分:0)
试试这个
<?php
echo"<input type='checkbox' name='PLJan'";
if (isset($_POST['PLJan']))
{
echo ' checked';
}
echo " {$row->PLJan} /> January ";
?>