Собственно код
{
$ds =(mktime(0,0,0, date("n"), date("j"), date("Y")));
$de = (mktime(0,0,0, date("n"), date("j"), date("Y"))+86400);
global $database, $main;
$res = $database->query("SELECT * FROM info
WHERE s_id = ".$site_id." AND
m_id ".(is_array($m_id)?"IN ".implode($m_id,","):"=".$m_id)." $ext
".$this->order."
LIMIT ".(($page-1)*$onpage).", $onpage");
if(mysql_num_rows($res))
{
$this->fnd = mysql_num_rows($res);
$cnt = $database->query("SELECT count(*) as cnt FROM info
WHERE s_id = ".$site_id." AND
m_id = $m_id $ext");
$rcnt = mysql_fetch_array($cnt);
$this->total = $rcnt['cnt'];
$id_list = '';
while($row = mysql_fetch_array($res))
{
$this->info[$row['info_id']] = $row;
$sid = $row['info_id'];
$result=$database->query("SELECT count(id) FROM wc_big_main WHERE time >= ".$ds." AND time < ".$de." AND site_id = $sid" );
list($host_today)=mysql_fetch_array($result);
$result=$database->query("SELECT count(id) FROM wc_big_main WHERE site_id = $sid" );
list($host_all)=mysql_fetch_array($result);
$result=$database->query("SELECT count(id) FROM wc_big_session WHERE time >= ".$ds." AND time < ".$de." AND statid IN (SELECT id FROM wc_big_main WHERE site_id = $sid)" );
list($hit_today)=mysql_fetch_array($result);
$result=$database->query("SELECT count(id) FROM wc_big_session WHERE statid IN (SELECT id FROM wc_big_main WHERE site_id = $sid)" );
list($hit_all)=mysql_fetch_array($result);
$this->info[$row['info_id']]['host_today'] = $host_today;
$this->info[$row['info_id']]['host_all'] = $host_all;
$this->info[$row['info_id']]['hit_today'] = $hit_today;
$this->info[$row['info_id']]['hit_all'] = $hit_all;
$this->info[$row['info_id']]['info_date_end_mk']=$this->info[$row['info_id']]['info_date_end'];
$this->info[$row['info_id']]['info_date_start_mk']=$this->info[$row['info_id']]['info_date_start'];
$this->info[$row['info_id']]['title'] = iconv("CP1251","UTF-8",$this->info[$row['info_id']]['title']);
$this->info[$row['info_id']]['content'] = iconv("CP1251","UTF-8",$this->info[$row['info_id']]['content']);
$this->info[$row['info_id']]['info_date_end']=mktime2date($row['info_date_end']);
$this->info[$row['info_id']]['info_date_start']=mktime2date($row['info_date_start']);
$this->info[$row['info_id']]['info_date2']=mktime2date($row['info_date']);
$this->info[$row['info_id']]['cat_id'] = $this->info[$row['info_id']]['c_id'];
$id_list.= $row['info_id'].",";
}
С MySQL опыта вообще мало. т.е простые запросы понимаю как делать ,а что дальше это для меня дебри, вообщем ребята помогите.Судя по названиям таблиц мне логика подсказывает что можно как то объединить запросы.но как не понимаю.
Селект запросы в цикле + есть и вложенные, очень долго тянут ,а то и вообще не выводят информацию на сайт, кто решение подскажет правильное?Спасибо.
Отредактированно dapon (16.02.2012 17:36:08)