PHP或mysql如何遍历

这是前台显示页面,业务逻辑是这样的:

如果填酒店名,就必须填金额,时间(红框位置,三个Input框为酒店名称,消费金额,时间),
但是这6项不是必填项。

我是用from表单提交,然后到控制器页面挨个判断,是否为空,为空该值=0,然后将这些数据整体插入到数据库中,但是这里一共18个值,感觉做法有点差劲,请问是否有比较高端的进行操作呢?

在数据库中,这18个字段是一列。如下:
酒店1,金额1,时间1,酒店2,金额2,时间2.....

clipboard.png

阅读 2.5k
3 个回答
新手上路,请多包涵

木有高档的做法,判断是否为空,简单粗暴

你看下这样行不行。
把input的value用数组表示,然后后台接收到的所有input在一个数组中

$hotels = array();
$arr = $_POST['arr'];

foreach ($arr as $k => $v) {
    if($k%3 == 0){
        if($v){
            if(!$arr[$k+1] || !$arr[$k+2]){
                echo json_encode(array(
                    "code" => -1,
                    "msg"  => "如果填酒店名,就必须填金额,时间",
                ));
                die;
            }
            $hotels[] = array(
                "name" => $v,
                "cost" => $arr[$k+1],
                "time" => $arr[$k+2],
            );
        }else{
            $hotels[] = array(0, 0, 0);
        }
    }
}
echo json_encode(array(
    "code" => 0,
    "msg"  => "success",
));

表单里的参数可以写成数组形式:<input type="text" name="time[]" />,这个可以了解一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题