php回显内的echo回显

时间:2013-07-22 05:44:57

标签: php html input checkbox echo

我正在尝试使用复选框来显示和更新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 ";

我是否有更好的方法来执行此操作,以便保存它将使用“已检查”更新数据库(如果选中此框),如果未选中此框则为空白?

提前感谢你们的停机。

5 个答案:

答案 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 ";
?>