选择/选项值为NULL

时间:2019-04-25 11:29:32

标签: php html

我需要的是,如果我从列表中选择第一个选项---------------,然后按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>

2 个答案:

答案 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;
}