<p>Special Meal Request:<br />
<label>
<input type="checkbox" name="dietaryveg" value="yes" />Vegetarian
</label>
<label><input type="checkbox" name="dietaryglut" value="yes" />Gluten-Free
</label>
這就是我決定使用我創建的表單。我沒有使用單選按鈕,因爲我只想要一個複選框;我沒有給複選框使用相同的名稱,因爲它們是數據庫中的不同列,因爲用戶可能需要素食餐和無麩質餐。儘管設置了defaultvalue,但數據庫中沒有值顯示
但是,當我在mysql工作臺中啓動我的數據庫時,未選中的框仍顯示在列中沒有值。然後我試着把一個隱藏的複選框的值設爲no,這是默認選中的,等等。但是,這兩個值在數據庫中都顯示爲「no」。
現在,我意識到,PHP只關心一個複選框的值,而不是一個未檢查的框值 - 但我會認爲,如果在我的數據庫中有一個默認值,那應該在那裏,很像一個NULL ,不是嗎?
我真的不想有一個完全獨立的表格,只是爲了排列食物偏好 - 我確信只有一些我錯過了。
我可以就處理這個問題的最佳方法得到一些建議嗎?
默認值將只用於新插入。如果在插入行後添加默認值,則現有的行不會受到影響。這可能是問題嗎?另外,請注意,如果您在插入的字段列表中指定字段,它將在值列表中具有相應的值,並且將使用該值,即使它爲空(空字符串仍是字符串) - 您需要省略查詢中POST數據中缺少的字段以使用默認值,或者只要數據庫中的字段不允許NULL值就可以傳遞NULL。 – DaveRandom 2012-08-07 13:24:11