【问题标题】:check if database row is empty检查数据库行是否为空
【发布时间】:2015-06-08 09:11:34
【问题描述】:

我有一个如下所示的数据库:

+----------+----------+---------+----------+
| bogie_id | train_id | axle_nr | bogie_nr |
+----------+----------+---------+----------+
|        1 |        1 |       1 |          |
|        2 |        1 |       2 |          |
|        3 |        1 |       3 |          |
|        4 |        1 |       4 |          |
+----------+----------+---------+----------+

如您所见,"bogie_nr" 行是空的。
不,我想做一个 if 语句,检查行是空的还是填充的。 我目前拥有的:

    <div id="bogiebox">
        <tr> 
            <?php    
                $x = 1;  
                foreach($show_axle as $bogiebox){ ?>
                <input type='hidden' name='bogie_id[<?php echo $bogiebox['bogie_id']?>]' value='<?php echo $bogiebox['bogie_id']?>'>
                <td>
                    <?php 
                        if($bogiebox['bogie_nr'] == ''){
                    ?>
                        <input type='checkbox' id="bogie_axle_fields" value="<?= $x ?>" name='bogie_nr[<?php echo $bogiebox['bogie_id']?>]'></td>
                    <?php
                        }
                        else{ 
                    ?>
                        <input type='checkbox' id="bogie_axle_fields" checked disabled></td><?php } }
            ?>
        </tr>
    </div>

然后是 if 语句:

    <?php
        if(isset($_POST['y'])){
            $bogiefilledin = false;
                if(!empty($_POST['bogie_nr'])) {
                    echo "everything is full?";
                }
                else {
                    echo "Fill in some more fields";
                }
        }
    ?>

还没有完成!但它应该做的是:
我们选中一个复选框或 2. 按下发送按钮,数据库为 2 个选定的转向架插入数字 1。然后页面刷新,所有复选框的值都应该为 2。在下一次插入时,它们将插入值 2。依此类推。

但是,我想要什么 = 如果我这样填写我的数据库:

+----------+----------+---------+----------+
| bogie_id | train_id | axle_nr | bogie_nr |
+----------+----------+---------+----------+
|        1 |        1 |       1 |     1    |
|        2 |        1 |       2 |     1    |
|        3 |        1 |       3 |     2    |
|        4 |        1 |       4 |          |
+----------+----------+---------+----------+

我想查看 else 语句(填写更多字段)。因为第四轴还没有在转向架上。

现在 if else 语句向我显示:当我选择 1 并按提交时,它说:"everything is full!"。当我什么都不选时,它会说:“填写更多字段。”。但是它还没有插入任何东西,所以它应该总是说:Fill in some more fields!。

我该怎么做?

【问题讨论】:

  • bogie_nr 是一列而不是一行
  • 我已经回答了您过去的一些转向架/车轴/火车问题(当您完成该项目时,您应该将获得的所有帮助归功于 SO:P),但这一个很难理解:不清楚if你有什么问题,需要发送什么,甚至是过程的基本逻辑:什么是y,这很重要吗?你在哪里/如何插入数据?你说它不是为第4轴插入数据,但你没有显示负责的代码或插入的逻辑。

标签: php html database insert statements


【解决方案1】:

尝试将if(!empty($_POST['bogie_nr'])) 更改为if($_POST['bogie_nr']!='')

【讨论】:

  • 然后总是说:都满了?
猜你喜欢
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 2015-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多