尝试插入记录,除非值为0

时间:2012-01-02 03:47:05

标签: php mysql for-loop

我有以下代码在MySQL中插入多条记录:

foreach ($_POST AS $input => $value) {
    if (stristr($input, 'percent_owner_')) {
        $memberID = str_replace('percent_owner_', '', $input);
        $data['memberID'][] = $memberID;
        $data['percentOwner'][] = $value;
    }
}
$total = array_sum($data['percentOwner']);

if ($total !=100) {
    $error = "Must total 100%.";
    include('./errors/shares_error.php');

} else {

    $c = count($data['memberID']);
    for ($i=0;$i<$c;$i++) {

        $asset_ID = $_GET['asset_ID'];
        $query = "INSERT INTO shares (asset_ID, member_ID, percent_owner) 
             VALUES ('$asset_ID', '{$data['memberID'][$i]}', '{$data['percentOwner'][$i]}')";
        $add_shares = $db->exec($query);
    }
}

如果'percent_owner'值为0,我不希望插入该记录。我试图在if中添加for语句,检查if '{$data['percentOwner'][$i]}' !== 0但是无法使其发挥作用。任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

将值$data['percentOwner'][$i]与整数转换后的0比较。它似乎是您生成上述值的方式的字符串:

for ($i=0;$i<$c;$i++) {
  // Compare in if() against intval() of the value
  if (intval($data['percentOwner'][$i]) !== 0) {
    $asset_ID = $_GET['asset_ID'];
    $query = "INSERT INTO shares (asset_ID, member_ID, percent_owner) 
         VALUES ('$asset_ID', '{$data['memberID'][$i]}', '{$data['percentOwner'][$i]}')";
    $add_shares = $db->exec($query);
  }
}