SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.05.2019 13:31:30

ghostj666
Участник
Зарегистрирован: 22.02.2019
Сообщений: 4

Вывод данных с БД при помощи PHP

Добрый день, на данный момент делаю небольшой проект по учету аренды помещений и столкнулся с небольшой проблемой
Есть торговая точка, поделена на блоки, скажем А Блок Б Блок С Блок, 1 - 2 этажи, нужно выводить им итоговый отчет, суть проблемы
Сейчас чтобы вывести все 6-7 блоков нужно писать по 1 php файлу который содержит такой вот код

<?
require_once("inc/common/setup.php"); // Загружаем настройки сайта
require_once("inc/common/mysql_connect.php"); // Загружаем БД    

$pay_month = "Май";
//Блок А
$block_1 = "Блок А - 1 этаж";
//Выводим сумму по плану в блоке
$query=mysql_query("SELECT SUM(abon_plata) sum FROM tb_clients WHERE block = '". $block_1 ."'");
$query=mysql_fetch_assoc($query);
$plan_1=$query['sum'];
//Свободные помещения
$query=mysql_query("SELECT COUNT(*) sum FROM tb_clients WHERE block = '". $block_1 ."' AND free = 1");
$query=mysql_fetch_assoc($query);
$freecount_1 = $query['sum'];
//Сумма свободных помещений
$query=mysql_query("SELECT SUM(abon_plata) sum FROM tb_clients WHERE block = '". $block_1 ."' AND free = 1");
$query=mysql_fetch_assoc($query);
$freesum_1 = $query['sum'];
//План по арендуемым помещениям
$query=mysql_query("SELECT SUM(abon_plata) sum FROM tb_clients WHERE block = '". $block_1 ."' AND free = 0");
$query=mysql_fetch_assoc($query);
$plan_active_1 = $query['sum'];
//Долги с прошлых месяцев
$query=mysql_query("SELECT SUM(dolg) sum FROM tb_clients WHERE block = '". $block_1 ."' AND MONTH(`date`) != MONTH(NOW()) AND YEAR(`date`) = YEAR(NOW())");
$query=mysql_fetch_assoc($query);
$ostatok_last_1 = $query['sum'];
//Поступления за месяц (Наличные)
$query=mysql_query("SELECT SUM(oplata) sum FROM `tb_cash_logs` A RIGHT JOIN `tb_clients` B ON A.client_id = B.id WHERE B.block = '". $block_1 ."' AND payment_method = 'report' AND text = '". $pay_month ."'");
$query=mysql_fetch_assoc($query);
$nalichka_1= $query['sum'];
//Поступления за месяц (Пластик)
$query=mysql_query("SELECT SUM(oplata) sum FROM `tb_cash_logs` A RIGHT JOIN `tb_clients` B ON A.client_id = B.id WHERE B.block = '". $block_1 ."' AND payment_method = 'terminal' AND text = '". $pay_month ."'");
$query=mysql_fetch_assoc($query);
$plastik_1 = $query['sum'];  
//Поступления за месяц (Переч)  
$query=mysql_query("SELECT SUM(oplata) sum FROM `tb_cash_logs` A RIGHT JOIN `tb_clients` B ON A.client_id = B.id WHERE B.block = '". $block_1 ."' AND payment_method = 'normal' AND text = '". $pay_month ."'");
$query=mysql_fetch_assoc($query);                              
$perech_1 = $query['sum'];          
//Итоговая сумма за текущий месяц
$itogo_1 = $naqd1 + $plastik_1 + $perech_1;  
//Остаток за текущий месяц
$ostatok_this_1 = $plan_1 - $itogo_1 - $ostatok_last_1;  
 
?>

Можно ли сделать так чтобы не нагружая бд использовать один такой файл на все блоки, выводя при этом все блоки сразу?
То есть, если к примеру у нас базе есть 6 точек продаж
A-точка, Б-точка, C-точка запрос сам определял что это поле уникально и выводил все данные в таблицу посредством while php?

Неактивен

 

#2 07.05.2019 13:06:12

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2215

Re: Вывод данных с БД при помощи PHP

Вы можете сделать группировку по блоку (GROUP BY block) в запросе и получить данные по всем блокам сразу, да.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson