2016-07-24 44 views
0

我想做一件非常簡單的事情 - 設置是否選中複選框或不基於行中的布爾值進來。我原本有一個'如果那麼'陳述,但結果似乎是任意的。所以我把它降低到這個程度,我仍然不明白它發生了什麼。什麼是正確的語法來設置基於布爾值複選框狀態

的代碼如下:

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

有在數據庫中的兩行,其中一個具有布爾標誌設置爲開(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 /保存-複選框布爾值合的MySQL數據庫與 - PHP) – s952163

回答

1

if s應該是==而不是=。通過使用=,您可以將它們同時設置爲true進行比較。

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

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

等...

相關問題