[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оптимизация вывода данных из БД в таблицу
Александр Мутылев
Привет всем!
Помогите упростить:

function __construct() {
global $db;

$pupils = '
sum(s.total_pupils_2011) as pupils_2011,
sum(s.total_pupils_2012) as pupils_2012,
sum(s.total_pupils_2013) as pupils_2013'
;

$this->data = $db->select('select r.id, r.name, '.$pupils.' from ?_geo_regions as r left join ?_schools as s on s.region = r.id group by r.id order by r.name');
}

function calc_reg_sc($region_id,$pupils){
global $db;
$num = 0;
$sc = $db->select("select * from ?_schools where region = ?",$region_id);

foreach($sc as $key => $val){
if($val[$pupils] > 0)
$num++;
}
return $num;
}


Вывод в таблицу:

<?php
$year_arr = array('2011','2012','2013');
?>

<table id="pupils">
<
tr>
<
td rowspan="2">Область</td><td colspan="3">Шкіл, по роках,лд.</td><td colspan="3">Учасників, по роках, учн.</td>
</
tr>
<
tr>
<? foreach($year_arr as $year){?>
<td><?=$year?></td>
<? }?>
<?
foreach($year_arr as $year){?>
<td><?=$year?></td>
<? }?>
</tr>
<? foreach ($$class->data as $val){?>
<tr>
<
td><?=$val['name']?></td>
<? foreach($year_arr as $year){?>
<td><?=$$class->calc_reg_sc($val['id'],$pupils='total_pupils_'.$year)?></td>
<? }
foreach($year_arr as $year){
?>
<td><?=$val['pupils_'.$year]?></td>
<? }?>
</tr>
<?

}?>
</table>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.