2012-03-06 91 views
0

我正在創建一個有兩個複選框yes和no的窗體。我已將一個yes或no添加到名爲Completed的mysql字段中。複選框不會使用mysql中的勾號更新

我越來越勾選框,以顯示打勾的問題,如果有一個是或號

那麼根據什麼是在現場完成的「是」或「否」的勾選框領域應打勾或不打勾。

我的代碼是這樣的:因爲你檢查 '是' 和 '否'

<input type="checkbox" name="Completed" Completed="Yes" value="<?php echo $stuff["Completed"]; ?>" <?php echo $stuff["Completed"] ? 'checked=" checked"' : ''; ?> > Yes</td>

<input type="checkbox" name="Completed" Completed="No" value="<?php echo $stuff["Completed"]; ?>" <?php echo $stuff["Completed"] ? 'checked=" checked"' : ''; ?> > No</td>

+0

那麼問題是什麼?生成的HTML顯示什麼? – j08691 2012-03-06 16:53:59

回答

2

檢查框不打我作爲一個適當的控制對於這種類型的信息。你考慮過使用單選按鈕嗎?無論如何,你的問題的答案取決於你如何在數據庫中存儲數據。如果它是一個簡單的「是」或「否」,然後嘗試類似如下:

<input type="radio" name="Completed" value="Yes" <?php echo $stuff["Completed"] == 'Yes' ? 'checked="checked"' : ''; ?> /> 
+0

同意單選按鈕更好,尤其是對於這種類型的選項,其中用戶可以檢查錯誤是和否 – Ryan 2012-03-06 17:05:33

+0

輝煌的工作完美:)謝謝。感謝您的無線電建議。 – Matt 2012-03-06 17:08:55

2

<?php echo $stuff["Completed"] ? 'checked=" checked"' : ''; ?>將始終返回true。這個值對於php來說是正確的。你必須設置值0或1分貝或檢查做這樣的事情:

<?php echo $stuff["Completed"] == 'Yes' ? 'checked=" checked"' : ''; ?>

...

<?php echo $stuff["Completed"] == 'No' ? 'checked=" checked"' : ''; ?>