Оптимизация кода

Разработка своих веб-приложений и страничек

Оптимизация кода

Сообщение Zver » 01 янв 2010, 19:09

В общем имеется код модуля "онлайн", который выводит общее количество поситителей, гостей и зарегистрированных пользователей. Код очень грамоздкий, с большим количеством запросов к БД. Возможно ли его оптимизировать?
Код: Выделить всёРазвернуть

<?php
function online() {
    
    
$wine 300
    
$table_online "online";
    
    global 
$lang;
    
    
$sql_update "DELETE FROM ".$table_online." WHERE `unix`+".$wine." < ".time()." OR `ip` = '".$_SERVER['REMOTE_ADDR']."'";
    
$result_update mysql_query($sql_update) or die(mysql_error());
    
    
$logid $_SESSION['logid'];
    if(empty(
$logid)){
        
$logid 0;
    }
    
    
$sql_insert "INSERT INTO ".$table_online." VALUES (NULL, '".$_SERVER['REMOTE_ADDR']."', '".time()."', '".date('Y-m-d')."', '".date('H:i:s')."', '".$logid."')";
    
$result_insert mysql_query($sql_insert) or die(mysql_error());
    
    
$sql_sel "SELECT `id` FROM ".$table_online;
    
$result_sel mysql_query($sql_sel) or die(mysql_error());
    
    
$online_people mysql_num_rows($result_sel);
    
$online_people = (string) $online_people;
    
    
$rain strlen($online_people) - 1;
    
    if(
$online_people[$rain] == 2||$online_people[$rain] == 3
    
||$online_people[$rain] == 4
    
||(strlen($online_people)!=1&&$online_people[strlen($online_people)-2]!=1))
    
    
    
$line $lang['online']['users']; else $line $lang['online']['user'];
    
    
$gst_sql 'SELECT count(*) FROM `online` WHERE `log_id` = "0"';
    
$gst_res mysql_query($gst_sql);    
    
$gst_row mysql_fetch_array($gst_res);
    
    
$mbr_sql 'SELECT count(*) FROM online WHERE log_id > "0"';
    
$mbr_res mysql_query($mbr_sql);    
    
$mbr_row mysql_fetch_array($mbr_res);

    
$ret =  $lang['online']['now']." <strong>".$online_people."</strong>,\n";
    
$ret .= $lang['online']['from'].' '.$gst_row[0].' '.$line.' ';
    
$ret .= $lang['online']['and'].' '.$mbr_row[0].' '.$lang['online']['reg_users'];
    
    if(empty(
$logid)){ $logid 0; }    
    if(
$logid == 0){
        
$st $lang['online']['guest'];
    } else {
        
$st $lang['online']['member'];
    }
    
    if(
$st == $lang['online']['member']){
        
$sql 'SELECT * FROM users WHERE id = "'.$_SESSION['logid'].'"';
        
$res mysql_query($sql);
        
$row mysql_fetch_array($res);
        
        
$user['name'] = $row['username'];
        
$user['id'] = $row['id'];
        
        
$ret .= '<a href="?page=users&action=view-profile&id='.$user['id'].'">'.$row['username'].'</a>,';
    }

    return 
$ret;
}
?>
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: Оптимизация кода

Сообщение On-line » 02 янв 2010, 00:15

Еще сам не разобрался ? xD
Аватара пользователя
On-line
Активный участник
 
Сообщения: 1083
Зарегистрирован: 31 окт 2008, 23:54
Домен: http://vbalashove.ru


Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

cron