我有4行需要插入db如果它们不是空的。 但我不能让它发挥作用。
这x 4次
<select class="form-control" id="masura" name="masura[]">
<option value='' > -- </option>
<option value='XS' > XS </option>
</select>
<input type="text" class="form-control" id="stoc" name="stoc[]" >
和这个php
$row_data = array();
foreach($_POST['stoc'] as $row=>$stoc) {
$stoc=mysqli_real_escape_string($link,$stoc);
$masura=mysqli_real_escape_string($link,($_POST['masura'][$row]));
$row_data[] = "('$masura', '$stoc' , '$dirName')";
}
if (!empty($row_data)) {
$sql = 'INSERT INTO stoc (masura, stoc, prodid) VALUES '.implode
(',', $row_data);
$result = mysqli_query($link, $sql);
}
问题是它还会插入空字段(如果我只输入1个字段,它会插入该字段,其他3个字段为空)
由于
答案 0 :(得分:0)
不要将空字段添加到$row_data
:
foreach($_POST['stoc'] as $row=>$stoc) {
if (empty($stoc) || empty($_POST['masura'][$row])) {
// Skip if either field is empty
continue;
}
$stoc=mysqli_real_escape_string($link,$stoc);
$masura=mysqli_real_escape_string($link,($_POST['masura'][$row]));
$row_data[] = "('$masura', '$stoc' , '$dirName')";
}