Я пытаюсь обновить несколько строк с разными значениями, но я хочу использовать только один запрос ОБНОВЛЕНИЕ для быстрого результата ... ниже я пытался выполнить это, но это занимает много времени, и иногда я получаю сообщение об ошибке от браузера, не могу продолжитьВыполнение кода, есть ли какое-нибудь решение?
require_once 'db.php';
$ price = '10000';
if ($ _ POST) {
$sql_query = "SELECT * FROM views_by_user WHERE views > 0";
$db = new database();
$con = $db->dbconnect();
$res = $db->query($con, $sql_query);
if($res){
$total_views = TotalViews();
while($row = mysqli_fetch_assoc($res)){
$email = $row['email'];
$user_views = $row['views'];
$old_balance = UserOldBalance($email);
$percentage = ($user_views / $total_views) * 100;
$percentage = number_format($percentage, 0);
$earned_balance = ($price * $percentage) / 100;
$new_balance = $old_balance + $earned_balance;
$sql_query = "UPDATE users SET balance = '$new_balance' WHERE email = '$email'";
$db = new database();
$con = $db->dbconnect();
$res = $db->query($con, $sql_query);
if($res){
$sql_query = "UPDATE views_by_user SET views = '0' WHERE email = '$email'";
$db = new database();
$con = $db->dbconnect();
$res = $db->query($con, $sql_query);
if($res){
echo "Balance Updated Successfully For " . $email . "<br />";
}
else {
echo "Error Updating Views...";
}
}
else {
echo "Error Updating Balance...";
}
}
}
else {
echo "error";
}
}
}
function TotalViews () {
$sql_query = "SELECT SUM(views) as 'total_views' FROM views_by_user";
$db = new database();
$con = $db->dbconnect();
$res2 = $db->query($con, $sql_query);
if($res2){
while($row2 = mysqli_fetch_assoc($res2)){
$total_views = $row2['total_views'];
}
}
return $total_views;
}
function UserOldBalance ($ email) {
$sql_query = "SELECT gems_balance FROM users WHERE email = '$email'";
$db = new database();
$con = $db->dbconnect();
$res3 = $db->query($con, $sql_query);
if($res3){
while($row3 = mysqli_fetch_assoc($res3)){
$old_gems = $row3['gems_balance'];
}
}
return $old_gems;
}