php多行表单数据插入数据库,怎么判断$_POST[...]数组是否为空?

详细问题如下:
表单代码:
<form action="index_ok.php" method="post">
<table border='1'>
<tr>
<th>第一行</th>
<th>第二行</th>
<th>第三行</th>
<th>第四行</th>
<th>第五行</th>
<th>第六行</th>
</tr>
<tr>
<td><input type='text' name='one[]'></td>
<td><input type='text' name='two[]'></td>
<td><input type='text' name='three[]'></td>
<td><input type='text' name='four[]'></td>
<td><input type='text' name='five[]'></td>
<td><input type='text' name='six[]'></td>
</tr>
<tr>
<td><input type='text' name='one[]'></td>
<td><input type='text' name='two[]'></td>
<td><input type='text' name='three[]'></td>
<td><input type='text' name='four[]'></td>
<td><input type='text' name='five[]'></td>
<td><input type='text' name='six[]'></td>
</tr>
<tr>
<td><input type='text' name='one[]'></td>
<td><input type='text' name='two[]'></td>
<td><input type='text' name='three[]'></td>
<td><input type='text' name='four[]'></td>
<td><input type='text' name='five[]'></td>
<td><input type='text' name='six[]'></td>
</tr>
<tr>
<td><input type='text' name='one[]'></td>
<td><input type='text' name='two[]'></td>
<td><input type='text' name='three[]'></td>
<td><input type='text' name='four[]'></td>
<td><input type='text' name='five[]'></td>
<td><input type='text' name='six[]'></td>
</tr>
</table>
<input type="submit">
</form>

php代码:
问题是:
print_r($_POST['one']); //这里给出 array(0=>, 1=>, 2=>, 3=>)
$conn=mysqli_connect(.....)
for($i=0;$i<count($_POST['one']); $I++)
{
$sql="insert into xxx(one) values('$one')";
mysqli_query($conn,$sql);
}
上面这段代码是插入多条数据的,但是有个问题,这个post过来的数组除了会把输入的数据插入到数据库,就连表单里为空的数据也会一起插入,要怎么判断$_POST['one']数组中是否为空? 比如如果one行只输入了3行,而最后第4行没有输入,那么怎么让$_POST['one']在插入数据库时只插入有数据的行,而忽略没有数据的行,或者说遇到如果行为空就停止。
补充一下
if($_POST['one']=="")
{
echo"空";
}else
{
echo "不空";
}
这里判断会一直显示为不空,one里没有写任何数据都是不空!

if (empty($_POST['one'])) {
    echo "空";
} else {
    echo "不空";
}

追问

谢谢回答,亲测,不填写数据也显示"不空"

追答

看了一下,已经有下标了,不是空数组。

可以在插入的时候对每个进行判断,如果某个值为空就跳过当前操作,试试下面的

for($i=0;$i<count($_POST['one']); $I++)
{    
    if (empty($_POST['one'][$i])) {
        continue;
    }
    $sql="insert into xxx(one) values('$one')";
    mysqli_query($conn,$sql);
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网