Как суммировать количество запросов внутри цикла foreach? - PullRequest
0 голосов
/ 31 августа 2018
<?php 
    foreach($idd as $ids)
    {
        $sql5 = "select count(DISTINCT product_name) as total from stock where type = '".$ids."'";
        $result5 = mysqli_query($con,$sql5);
        $row5 = mysqli_fetch_row($result5);
    }
    $total5 = $row5[0];
?>

В этом коде я использовал функцию разнесения для $idd и запускаю запрос внутри цикла foreach и хочу суммировать несколько запросов внутри цикла foreach, а теперь мой запрос выглядит следующим образом:

select count(DISTINCT product_name) as total from stock where type = 'Green Tea'select count(DISTINCT product_name) as total from stock where type = 'Herbal Tea'

Но я хочу вот так

select (select count(DISTINCT product_name) as total from inventory_add_in_stock where type = 'Green Tea')+(select count(DISTINCT product_name) as total from inventory_add_in_stock where type = 'Herbal Tea') as total

Итак, как я могу это сделать? Пожалуйста, помогите мне.

Спасибо

1 Ответ

0 голосов
/ 31 августа 2018

Вам нужно получить значения внутри foreach() и суммировать их. Делай как ниже: -

<?php

    $total_count = 0; // a varible define to get total count in last
    foreach($idd as $ids)
    {
        $sql5 = "select count(DISTINCT product_name) as total from stock where type = '".$ids."'";
        $result5 = mysqli_query($con,$sql5) or die(mysqli_error($con));
        $row5 = mysqli_fetch_assoc($result5);
        $total_count += $row5['total']; // add counts to variable
    }
    echo $total_count; // print final count
?>

Ваш код широко открыт для SQL INJECTION. попробуйте использовать prepared statements

mysqli_prepare ()

PDO :: подготовить

Примечание: - Попробуйте сделать это без цикла

https://dba.stackexchange.com/a/102345

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...