Как использовать запрос mysql для всего значения моей таблицы? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть запрос MySQL для запроса количества категорий в Prestashop, но я не могу распространить его на все категории.

Я использую значение категории из переменной $_POST, но я бы хотел расширить его до значения всех категорий:

$query_quant = "SELECT SUM(ps_stock_available.quantity) as tot FROM ps_stock_available LEFT JOIN ps_category_product ON ps_stock_available.id_product = ps_category_product.id_product WHERE ps_category_product.id_category = '$cat'";

Может быть, мне нужно использовать mysql_fetch_array, но я хочу знать, как я могу присвоить все значения категории $cat?


Я пытался использовать это:

$query_category = "SELECT id_category FROM ps_category";

$result_category = mysql_query($query_category);


while ($row = mysql_fetch_array($result_category))
{

$categoria = $row['id_category'];

Но у меня ошибка 404

Ответы [ 2 ]

1 голос
/ 05 июля 2019

Просто используйте в заявлении, чтобы передать все категории в ваш запрос

    $query_quant = "SELECT SUM(ps_stock_available.quantity) as tot FROM ps_stock_available 
LEFT JOIN ps_category_product ON ps_stock_available.id_product = ps_category_product.id_product WHERE 
ps_category_product.id_category in ('$cat1','$cat2','$cat3','$cat4')";

Как вы упомянули в комментарии, если вы хотите, чтобы сумма для каждой категории использовалась в группе

    $query_quant = "SELECT SUM(ps_stock_available.quantity) as tot,ps_category_product.id_category as cat FROM ps_stock_available 
LEFT JOIN ps_category_product ON ps_stock_available.id_product = ps_category_product.id_product WHERE 
ps_category_product.id_category in ('$cat1','$cat2','$cat3','$cat4') group by ps_category_product.id_category";
0 голосов
/ 05 июля 2019

Сэр, если категории, разделенные запятыми, вы можете использовать «IN» для проверки идентификаторов категорий. Прямо сейчас в вашем запросе вы используете только условие "=" для категории. Это означает, что будет извлечена только одна категория. Я надеюсь, что вы поняли

...