我需要的是,如果我从列表中选择第一个选项---------------
,然后按Submit按钮,那么他们应该在我的数据库中返回NULL值。
我试图将其放入我的代码中
if ($_POST['fk_KOMANDAid_KOMANDA'] === '') {
$_POST['fk_KOMANDAid_KOMANDA'] = NULL;
}
但是它不起作用,我的页面向我显示了fk_KOMANDAid_KOMANDA
输入错误的相同问题。
有我的代码:
<p>
<label class="field" for="fk_KOMANDAid_KOMANDA">Komanda<?php echo in_array('fk_KOMANDAid_KOMANDA', $required) ? '<span> *</span>' : ''; ?></label>
<select id="fk_KOMANDAid_KOMANDA" name="fk_KOMANDAid_KOMANDA">
<option value="-1">---------------</option>
<?php
$kom = $asmuoObj->getkomanda();
foreach($kom as $key => $val) {
$selected = "";
if(isset($data['fk_KOMANDAid_KOMANDA']) && $data['fk_KOMANDAid_KOMANDA'] == $val['id']) {
$selected = " selected='selected'";}
echo "<option{$selected} value='{$val['id']}'>{$val['pavadinimas']}</option>";}
?>
</select>
</p>
更新1
我的代码现在看起来是这样,但是我的页面显示了一个错误。
<p>
<?php
if ($_POST['fk_KOMANDAid_KOMANDA'] == '-1') {
$_POST['fk_KOMANDAid_KOMANDA'] = NULL;}
?>
<label class="field" for="fk_KOMANDAid_KOMANDA">Komanda<?php echo in_array('fk_KOMANDAid_KOMANDA', $required) ? '<span> *</span>' : ''; ?></label>
<select id="fk_KOMANDAid_KOMANDA" name="fk_KOMANDAid_KOMANDA">
<option value="-1">---------------</option>
<?php
$kom = $asmuoObj->getkomanda();
foreach($kom as $key => $val) {
$selected = "";
if(isset($data['fk_KOMANDAid_KOMANDA']) && $data['fk_KOMANDAid_KOMANDA'] == $val['id']) {
$selected = " selected='selected'";}
echo "<option{$selected} value='{$val['id']}'>{$val['pavadinimas']}</option>";}
?>
</select>
</p>
答案 0 :(得分:3)
您已将值-1
设置为该选项。
两个选项:
1)将选项值更改为空白“”。
<option value="">---------------</option>
2)在PHP提交端,添加if
条件
if ($_POST['fk_KOMANDAid_KOMANDA'] == -1) {
$fk_KOMANDAid_KOMANDA = NULL;
}
答案 1 :(得分:2)
您没有正确设置条件。您需要在if语句中放入-1,而不是空。因为选择------------时它的值为-1。
if ($_POST['fk_KOMANDAid_KOMANDA'] == '-1') {
$_POST['fk_KOMANDAid_KOMANDA'] = NULL;
}