2016-07-24 8 views
0

非常に簡単なことをしようとしています - 入ってくる行のブール値に基づいてチェックボックスをオンにするかどうかを設定します。 if then then 'ステートメントを実行しますが、結果は任意であるように見えます。だから、私はこれをただのことにしていましたが、何が起きているのかまだ分かりません。次のようにブール値に基づいてチェックボックス状態を設定する正しい構文は何ですか

コードは次のとおり

<td><input name="DFlag[]" type="checkbox" <?php if ($row[$i]['DFlag'] = 0) {echo "unchecked";} ?> </td> 

は、データベースに2列、上にセットブール・フラグを有するものである(1)および他のオンオフ(0)、両方の行画面はチェックされていません。

私のような行を変更しました:

<td><input name="DFlag[]" type="checkbox" <?php if ($row[$i]['DFlag'] = 1) {echo "checked";} ?> </td> 

と確認として両方の線が戻ってきます。両方の行の他のすべてのデータが正しく入力されていることに注意してください。チェックボックスだけではありません!

私は行を変更した場合:

<td><input name="DFlag[]" type="checkbox" <?php if ($row[$i]['DFlag'] = 1) {echo "checked";}; if ($row[$i]['Display_Address_On_Roster_Flag'] = 0) {echo "unchecked";} ?> </td> 

彼らは両方にチェック戻ってきます。

+0

[PHPでMySQLデータベースに保存するチェックボックス(ブール)値]の可能な重複(http://stackoverflow.com/questions/32592570/save-checkbox-boolean-values-in-mysql-database-with-php) – s952163

答えて

1

if==であり、=ではありません。 =を使用すると、比較すると同時にtrueに設定されます。

if ($row[$i]['DFlag'] == 1) 

等に

if ($row[$i]['DFlag'] = 1) 

...

関連する問題