Попытка вставить записи, если значение не равно 0 - PullRequest
2 голосов
/ 02 января 2012

У меня есть следующий код, который вставляет несколько записей в 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);
    }
}

Если значение процента_обладателя равно 0, я не хочу вставлять эту запись.Я попытался поместить оператор if в for, проверяя, чтобы увидеть if '{$data['percentOwner'][$i]}' !== 0, но не смог заставить его работать.Любая помощь будет оценена.

Спасибо.

1 Ответ

0 голосов
/ 02 января 2012

Сравните значение $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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...