подскажите мой код делает начисление ежедневно по вкладам, проблема в том что если юзер купит два тарифа одинаковых начисление идет только по одному как это исправить? PHP: $user_id = $_SESSION["user_id"]; $db->Query("SELECT * FROM db_users_b WHERE id = $user_id"); $user_data = $db->FetchArray(); $db->Query("SELECT * FROM `db_tarif_buy_50` WHERE `user_id` = '$user_id' AND DATE(`date`) < CURDATE() AND `date_end` >= NOW()"); $count_tarifs2 = $db->NumRows(); if($count_tarifs2 > 0){ $data_tarifs2 = array(); while($result2 = $db->FetchArray()){ $data_tarifs2[] = $result2; } foreach($data_tarifs2 as $key2 => $array2){ $db->Query("SELECT * FROM `db_tarif_profit_50` WHERE `user_id` = '$user_id' AND `tarif` = '".$array2['tarif']."' AND DATE(`date`) = CURDATE()"); if($db->NumRows() == 0){ $db->Query("SELECT * FROM `db_tarif_50` WHERE `id` = '".$array2['tarif']."'"); if($db->NumRows() > 0){ $data_tarif2 = $db->FetchArray(); $percentprofit2 = ($array2['sum'] * ($data_tarif2['profit']/100)); $nach2 = 1; $db->Query("INSERT INTO `db_tarif_profit_50` (`user_id`,`tarif`,`amount`, `nach`) VALUES ('$user_id','".$data_tarif2['id']."','".$percentprofit2."','".$nach2."')"); $db->query("UPDATE `db_users_b` SET `money_b` = `money_b` + '".($percentprofit2/2)."', `money_p` = `money_p` + '".($percentprofit2/2)."' WHERE `id` = '$user_id'"); $db->query("UPDATE `db_tarif_buy_50` SET `nachisleno` = `nachisleno` + '".$nach2."' WHERE `id` = '".$data_tarif2['id']."' AND `user_id` = '$user_id'"); } } } }
Подскажи что я упустил если делать //echo "<br>".$array['login']." ".$array['user_id']." ".$array['tarif']." ".$array['sum']." ".$array['sum']." ".$data_tarif2['profit']; ТО выводит весь список к примеру вася сумма 1 тариф 1 вася сумма 2 тариф 1 петя сумма 1 тариф 3 А вот когда идет insert в бд идет только вася сумма 1 тариф 1 петя сумма 1 тариф 3 Код (Text): $db->Query("SELECT * FROM db_tarif_buy_50"); if($db->NumRows() > 0){ while($ref = $db->FetchArray()){ $data_tarifs2[] = $ref; } } foreach($data_tarifs2 as $key => $array){ $db->Query("SELECT * FROM `db_tarif_profit_50` WHERE `user_id` = '".$array['user_id']."' AND `tarif` = '".$array['tarif']."' AND DATE(`date`) = CURDATE()"); if($db->NumRows() == 0){ $db->Query("SELECT * FROM `db_tarif_50` WHERE `id` = '".$array['tarif']."'"); $data_tarif2 = $db->FetchArray(); //echo "<br>".$array['login']." ".$array['user_id']." ".$array['tarif']." ".$array['sum']." ".$array['sum']." ".$data_tarif2['profit']; $percentprofit2 = ($array['sum'] * ($data_tarif2['profit']/100)); $nach2 = 1; $db->Query("INSERT INTO `db_tarif_profit_50` (`user_id`,`tarif`,`amount`, `nach`) VALUES ('".$array['user_id']."','".$array['tarif']."','".$percentprofit2."','".$nach2."')"); $db->query("UPDATE `db_users_b` SET `money_b` = `money_b` + '".($percentprofit2/2)."', `money_p` = `money_p` + '".($percentprofit2/2)."' WHERE `id` = '".$array['user_id']."'"); $db->query("UPDATE `db_tarif_buy_50` SET `nachisleno` = `nachisleno` + '".$nach2."' WHERE `amount` = '".$data_tarif2['']."' AND `user_id` = '".$array['user_id']."'"); } }
Я не пойму почему но когда я сделал так все заработало $db->Query("SELECT * FROM `db_tarif_profit_50` WHERE `id` = '".$array['id']."' AND `tarif` = '".$array['tarif']."' AND `id` = '".$array['id']."' AND DATE(`date`) = CURDATE()");