Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中从多个数组中删除空行元素_Php_Mysql_Arrays_Laravel - Fatal编程技术网

如何在PHP中从多个数组中删除空行元素

如何在PHP中从多个数组中删除空行元素,php,mysql,arrays,laravel,Php,Mysql,Arrays,Laravel,我使用数组发布了一组产品信息。一段时间内插入了空行。如何删除这个 客户端代码: <?php for($i=1; $i<6; $i++) { ?> <input type="text" name="product[]" id="product{{$i}}"> <input type="text" name="qty[]" id="qty{{$i}}"> <input type="text" name="rate[]" id="rate{{$i}}"

我使用数组发布了一组产品信息。一段时间内插入了空行。如何删除这个

客户端代码:

<?php for($i=1; $i<6; $i++) { ?>
<input type="text" name="product[]" id="product{{$i}}">
<input type="text" name="qty[]" id="qty{{$i}}">
<input type="text" name="rate[]" id="rate{{$i}}">
<input type="text" name="amount[]" id="amount{{$i}}">
<?php } ?>
 $product=implode('#@$',$_POST["product"]);
    $qty=implode('#@$',$_POST["qty"]);
    $rate=implode('#@$',$_POST["rate"]);
    $amts=implode('#@$',$_POST["amount"]);

$insertqry=mysql_query("insert into invoice (prodt,qty,rates,amts) values('$product','$qty','$rate','$amts')");

根据如何将行定义为空,如果空产品名称为空行, 然后:

如果($product='')继续,则添加条件

之前:

$insertqry=mysql\u查询(“插入发票(产品、数量、费率、AMT)值('$product'、'$qty'、'$rate'、'$amts')

到代码的服务器端。因此,它将跳过没有名称的产品


如果这不是您想要的方式,请告诉我,我将再次编辑我的代码,谢谢。

您应该检查您的$\u POST值,您可以使用

此外,还应该解析多维数组中的值

$datas = [];

foreach ($_POST['product'] as $index => $product) {
  $product = isset($product) ? $product : null;
  $qty= isset($_POST['qty'][$index]) ? $_POST['qty'][$index] : null;
  $rate= isset($_POST['rate'][$index]) ? $_POST['rate'][$index] : null;
  $amount= isset($_POST['amount'][$index]) ? $_POST['amount'][$index] : null;

  if ($product && $qty && $rate && $amts) {
    $data[] = [
      'product' => $product,
      'qty' => $qty,
      'rate' => $rate,
      'amount' => $amount
    ];
  }
}
现在你可以这样做了

<?php foreach ($datas as $data) { ?>
<input type="text" name="product[]" id="product{{$data['product']}}">
<input type="text" name="qty[]" id="qty{{$data['qty']}}">
<input type="text" name="rate[]" id="rate{{$data['rate']}}">
<input type="text" name="amount[]" id="amount{{$data['amount']}}">
<?php } ?>


你说标记的那一行是空的依据是什么?有时用户不填写该行。if Row Empty无法在if语句中插入值@AlivetoDieWrap for循环中的所有内容。。。?
<?php foreach ($datas as $data) { ?>
<input type="text" name="product[]" id="product{{$data['product']}}">
<input type="text" name="qty[]" id="qty{{$data['qty']}}">
<input type="text" name="rate[]" id="rate{{$data['rate']}}">
<input type="text" name="amount[]" id="amount{{$data['amount']}}">
<?php } ?>