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 "<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 ";

そして、それを1行に圧縮したい場合は、エコーを連結することができます

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

文字列の moddle に PHP ロジックを含めることはできません。あなたはそれを分割する必要があります:

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