drv13270 2019-02-28 18:15
浏览 65

PHP Query POST foreach仅显示表单中80个选项中的77个

I have a form that queries from a mysql database. This specific one outputs 79 lines. When I submit and then try to split with foreach() into an array it will max out at 77 lines. No matter which parts I make active and even adding new ones.

$counterVar=0;

foreach($_POST['count'] as $row=>$value) { 

    if(number_format(($_POST['partsprice'][$row] * $_POST['new_qty'][$row]), 2, '.', '') > '0.00'){
        //$row_data[] = "(DEFAULT, '".$count[$row]."', '".$rma[$row]."', '".$ln[$row]."', '0', '".$item_key[$row]."', '".$qty[$row]."', '".$part_n[$row]."', '".$desc[$row]."', '".number_format($part_price1[$row], 2, '.', '')."', '".number_format($roll_out1[$row], 2, '.', '')."', '".number_format(($part_price1[$row] * $qty[$row]), 2, '.', '')."', '".number_format(($roll_out1[$row] * $qty[$row]), 2, '.', '')."', '".$cost_type[$row]."', '".$stkrm[$row]."', '".$bin[$row]."','5')<BR>";
        $row_data[] = "(DEFAULT, '".$_POST['count'][$row]."', '".$_POST['rma'][$row]."', '".$_POST['linenum'][$row]."', '0', '".$_POST['item_key'][$row]."', '".$_POST['new_qty'][$row]."', '".$_POST['part_num'][$row]."', '".$_POST['part_desc'][$row]."', '".number_format($_POST['partsprice'][$row], 2, '.', '')."', '".number_format($_POST['rolloutprice'][$row], 2, '.', '')."', '".number_format(($_POST['partsprice'][$row] * $_POST['new_qty'][$row]), 2, '.', '')."', '".number_format(($_POST['rolloutprice'][$row] * $_POST['new_qty'][$row]), 2, '.', '')."', '".$_POST['cost_type'][$row]."', '".$_POST['stkrm'][$row]."', '".$_POST['bin'][$row]."','5')<BR>";
    }
    $counterVar++; 
}

Update code

$counterVar = 0;
$row_data   = [];

$aEach = isset($_POST['count']) ? (array)$_POST['count'] : []; 

foreach($aEach as $row => $value) {

     $fPartsPrice = isset($_POST['partsprice'][$row]) ? (float)$_POST['partsprice'][$row] : 0; 
     $fNewQnty    = isset($_POST['new_qty'][$row]) ? (float)$_POST['new_qty'][$row] : 0;



    if(floatval($fPartsPrice * $fNewQnty) > 0) {

        $row_data[] = "(DEFAULT, '".$_POST['count'][$row]."',
         '".$_POST['rma'][$row]."', '".$_POST['linenum'][$row]."', '0', 
         '".$_POST['item_key'][$row]."', '".$_POST['new_qty'][$row]."',
         '".$_POST['part_num'][$row]."', '".$_POST['part_desc'][$row]."',
         '".number_format($_POST['partsprice'][$row], 2, '.', '')."', 
         '".number_format($_POST['rolloutprice'][$row], 2, '.', '')."',
         '".number_format(($_POST['partsprice'][$row] * $_POST['new_qty'][$row]), 2, '.', '')."',
         '".number_format(($_POST['rolloutprice'][$row] * $_POST['new_qty'][$row]), 2, '.', '')."', 
         '".$_POST['cost_type'][$row]."', '".$_POST['stkrm'][$row]."', '".$_POST['bin'][$row]."','5')<BR>";
    }


$counterVar++; 

}

$values=implode(",",$row_data);
echo $values;
echo "<br>";
echo 'items: '.count($row_data).'<br />'; 
echo 'counter: '.$counterVar.'<br />'; `
  • 写回答

1条回答 默认 最新

  • douxiong2999 2019-02-28 18:45
    关注

    No idea what $_POST['count']exactly contains, but its not a good idea to compare a formatted number against a string. BTW, you should check and validate your input vars.

    My suggestion to fix that is:

    $counterVar = 0;
    $row_data   = [];
    
    $aEach = isset($_POST['count']) ? (array)$_POST['count'] : []; 
    
    foreach($aEach as $row => $value) { 
    
        $fPartsPrice = isset($_POST['partsprice'][$row]) ? (float)$_POST['partsprice'][$row] : 0; 
        $fNewQnty    = isset($_POST['new_qty'][$row]) ? (float)$_POST['new_qty'][$row] : 0; 
    
    if(floatval($fPartsPrice * $fNewQnty) > 0) {
            $row_data[] = /* YOUR STUFF*/;
        }
    
        $counterVar++; 
    }
    echo 'items: '.count($row_data).'<br />'; 
    echo 'counter: '.$counterVar.'<br />'; 
    

    Sry for the bad formatting.It seems the wysiwyg does'nt like me :-) => Now, if a line is missing in your $row_data, the calculation $fPartsPrice * $fNewQnty gives you zero or less.

    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图