Цикл в цикле, как реализовать ?

Два запроса
/*Выборка дат по закупкам*/
$procurement = mysql_query ("SELECT data_start_god 
FROM goods 
WHERE id_com_god='{$company['inde_com']}' GROUP BY data_start_god  ORDER BY `data_start_god` ASC LIMIT 7",$db);
while ($rowk = mysql_fetch_array($procurement))
echo "'{$rowk['data_start_god']}',";

/*Подсчет cуммы товара*/
$product = mysql_query ("SELECT SUM(start_col_god) 
FROM goods 
WHERE id_com_god='{$company['inde_com']}' AND data_start_god='{$rowk['data_start_god']}'  ORDER BY `start_col_god` ASC LIMIT 7",$db);
while ($pro = mysql_fetch_array($product))
echo "'$pro[0]',";


Из первого запроса необходимо вывести 7 последних дат.
Второй запрос служит для подсчета суммы товаров, по заданной дате.
Т.е второй цикл зависит от первого, но сумма по датам не выходит.
Необходимо два отдельных запроса, так они будут в разных местах javascript
Не знаю получилось ли правильно объяснить =(
Помогите как можете
  • Вопрос задан
  • 2403 просмотра
Решения вопроса 1
svd71
@svd71
@WaRstim :
"необходимо два отдельных запроса, так они будут в разных местах javascript"


Код в php и если играет какую то роль в javascript, то не понятно что нужно.
/*Выборка дат по закупкам*/
$procurement = mysql_query ("SELECT data_start_god 
FROM goods 
WHERE id_com_god='{$company['inde_com']}' GROUP BY data_start_god  ORDER BY `data_start_god` ASC LIMIT 7",$db);
while ($rowk = mysql_fetch_array($procurement))
echo "'{$rowk['data_start_god']}',";

foreach($rowk as <b>$itm</b>) {
/*Подсчет cуммы товара*/
$product = mysql_query ("SELECT SUM(start_col_god) 
FROM goods 
WHERE id_com_god='{$company['inde_com']}' AND data_start_god='{<b>$itm</b>['data_start_god']}'  ORDER BY `start_col_god` ASC LIMIT 7",$db);
while ($pro = mysql_fetch_array($product))
echo "'$pro[0]',";
}


@metamorph правильно написал, при любой конструкции достаточно обойтись одним запросом, но так же можно его разделить на два запроса.
$procurement = mysql_query ("SELECT data_start_god<b>, sum(start_col_god) as sum_col_god </b>
FROM goods 
WHERE id_com_god='{$company['inde_com']}' GROUP BY data_start_god  ORDER BY `data_start_god` ASC LIMIT 7",$db);
while ($rowk = mysql_fetch_array($procurement))
echo "'{$rowk['data_start_god']}',";
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
metamorph
@metamorph
Возможно, я не понял задачи, но что мешает сделать это в один запрос?
select ..., SUM(кол-во товара)
where ...
group by [ид_компании,] дата
order by дата desc
limit 7?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы