Vse o BUX

Объявление

Если вам помогли на форуме, помогите и вы нам.

Разместите здесь свой баннер всего за 1 wmr в сутки.



Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Vse o BUX » SoooFast » Вопрос об оптимизации


Вопрос об оптимизации

Сообщений 41 страница 50 из 130

41

ipsuss написал(а):

Админ, выделяю текст тегами <b> текст </b> но при просмотре вижу только теги. Выделение никак немогу ВПЕРВЫЕ сделать...На этом форуме. На моем все ок и в редактировании сообщения все есть. Использую phpBB3

Чет сомнения возникают.... интересно кто это использует HTML теги при редактировании постов?
Впервые слышу.
На форумах в постах применяют только BB code
И если вы не знаете что весь инструментарий находится над окном куда пишите сообщение, то я дпже не знаю как и подсказать.....  :huh:
http://s47.radikal.ru/i116/1003/d2/22b2b4586a0f.jpg

0

42

qazantip написал(а):

но будьте внимательны при добавлении ф-ции  _once - не везде она нужна! Можно таким образом отключить нужные запросы к базе!

Это отразится на работе скрипта? И заметно ли это будет невооруженным взглядом?

0

43

vovka написал(а):

Это отразится на работе скрипта?

Отразится конечно.

vovka написал(а):

заметно ли это будет невооруженным взглядом?

Куда уж заметнее  :O  будут исчезать запросы с базы.
Но это не страшно, вернув изменения в первоначальный вид все вернется назад.
Эксперементируйте не бойтесь, но по одному изменению за раз, иначе запутаетесь.
Но вообще то рекомендую поставить Денвер и изгаляться на локалке над скриптом, а если все ок! переносить на хост.

0

44

В одной статистике сайта 14 запросов

0

45

Насчёт этой темы:
header.phр содержит сплошные запросы!!!once будет проверять закрыто ли соединение с базой(это код примерно вида mysql_close($con)) и если не закрыто то не будет соединяться...ТАК ЧТО ВАМ МЕШАЕТ заключить всё в минимальное количество запросов???
пример:
открываем members.php:
Ищем:
require("config.php"); echo $url; ?>/?r=<? echo $user;
ниже ищем:
$user=$_SESSION["username"];
require('config.php');
$res=mysql_query("select * from tb_users where username='$user'");
$row=mysql_fetch_array($res);

$res=mysql_query("select sum(visits) from tb_refbot where user='$user'");
$refbotvisits=mysql_result($res,0,0);

$res=mysql_query("select count(*) as kolvo, sum(amount) as paid from tb_taskstats where status='1' and user='$user'");
$res=mysql_fetch_array($res);
$tasksok=$res["kolvo"];
$taskpaid=round($res["paid"],2);

mysql_close($con);
Удаляем второй указанный мной кусок и после:
require("config.php"); echo $url; ?>/?r=<? echo $user;
Вставляем:

$res=mysql_query("select * from tb_users where username='$user'");
$row=mysql_fetch_array($res);

$res=mysql_query("select sum(visits) from tb_refbot where user='$user'");
$refbotvisits=mysql_result($res,0,0);

$res=mysql_query("select count(*) as kolvo, sum(amount) as paid from tb_taskstats where status='1' and user='$user'");
$res=mysql_fetch_array($res);
$tasksok=$res["kolvo"];
$taskpaid=round($res["paid"],2);

Таким образом мы уменьшили количество запросов на странице members.php на 1!
теперь рассмотрим кусок:
<td style="border-bottom: #ccc 1px solid;"><? echo $row["referer"]; ?></td>
Тут нам надо $row["referer"] Обозначить переменной для того,чтобы полученный из 2х один запрос впихнуть в хиадер,уменьшить количество запросов и одновременно оставить чтоб статистика выводилась...вариант первый: как обычно я делаю - обозначать РОВЫ переменной либо в полученном одном запросе:
require("config.php"); echo $url; ?>/?r=<? echo $user;

$res=mysql_query("select * from tb_users where username='$user'");
$row=mysql_fetch_array($res);

$res=mysql_query("select sum(visits) from tb_refbot where user='$user'");
$refbotvisits=mysql_result($res,0,0);

$res=mysql_query("select count(*) as kolvo, sum(amount) as paid from tb_taskstats where status='1' and user='$user'");
$res=mysql_fetch_array($res);
$tasksok=$res["kolvo"];
$taskpaid=round($res["paid"],2);

в строке $row=mysql_fetch_array($res); $row мы заменим на уникальную переменную(к примеру $membersstat) и на странице members.php каждое вида : <? echo $row["visits"]; ?> заменить на: <?echo $memberstat["visits"]; ?>
Вот так вот надо каждый файлик перебирать
Но чтоб существенно уменьшить количество запросов рекомендую порыться в хиадере:
все запросы внести в некий файл sql.php который мы и включим в хиадер include'ом
Ещё запрос лежит в menuleft.php где выводится кошель и вмид
Ещё запрос в menuright.php - где у нас выводится количество непрочитанных сообщений
И ещё перерыть советую sitestats.php!!!там ваще нехилая туча запросов все запросы сувать в некий sql.php и обозначать результаты переменными и выводить в файлах.уменьшите может до 7-10...остальное там статистические ссылки и баннеры берут.

P.S:Для вас вот содержимое файла sitestats.php - вставьте его в свой sitestats.php и посмотрите на количество запросов:)

Код:
<?
include('config.php');
$checkpemail = mysql_query("SELECT id FROM tb_users");
$pemail_exist = mysql_num_rows($checkpemail);

    $sql = "SELECT * FROM tb_config WHERE item='click' and howmany='1'";
    $result = mysql_query($sql);        
    $row = mysql_fetch_array($result);
    $clck=$row["price"]; 

    $sql = "SELECT * FROM tb_config WHERE item='referalclick' and howmany='1'";
    $result = mysql_query($sql);        
    $row = mysql_fetch_array($result);
    $refclck=$row["price"]; 

        $sql = "SELECT * FROM tb_config WHERE item='payment' and howmany='1'";
        $result = mysql_query($sql);        
        $row = mysql_fetch_array($result);
        $minimalka=$row["price"];

$dc=date("d.m.Y");
$sql="select * from tb_users where joindate='$dc'";
$result=mysql_query($sql);
$nov=mysql_num_rows($result);

	$sql = "SELECT count( * ) FROM users_online where urlpage='<font color=#ff0000>Зарабатывает</font>'";
	$result = mysql_query($sql);
        $tot1=mysql_result($result,0,0);

$sql="select * from tb_config where item='recordonline'";
$res1=mysql_query($sql);
$rowq=mysql_fetch_array($res1);
$recon=$rowq["howmany"];

$sql="select count(*) from users_online";
$res1=mysql_query($sql);
$qwr=mysql_result($res1,0,0);

if ($qwr>$recon)
{
	$sql="update tb_config set howmany='$qwr' where item='recordonline'";
	mysql_query($sql);
}

$sql = "SELECT count( * ) FROM `tb_history`";
        $result = mysql_query($sql);
            	$viplat=mysql_result($result,0,0);

    	

$res=mysql_query("select startdate from tb_site where id='1'");
$res=mysql_fetch_array($res);
$sd=$res["startdate"];
$d0=strtotime($sd);
$d1=time();
$d=($d1-$d0)/(24*3600);
$vozrast=ceil($d);
$sql="select sum(visits) from tb_users";
$res=mysql_query($sql);
$prosmotreno=mysql_result($res,0,0);
$sql="select sum(money) from tb_users where user_status='user'";
$pes=mysql_query($sql);
$deneg=mysql_result($pes,0,0);
$denegna=round($deneg,2);

	$sql = "SELECT count( * ) FROM `tb_payme`";
	$result = mysql_query($sql);
        $zdut=mysql_result($result,0,0);

$res=mysql_query("select username from tb_users where user_status='admin' order by id asc");
$res=mysql_fetch_array($res);
$admin=$res["username"];

$res=mysql_query("select count(*) as kolvo from users_online where user='$admin'");
$res=mysql_fetch_array($res);
if($res["kolvo"]>0)
{
$adminonline="<center><b>Администрация: <span style=\"color:#00dd00\">on-line</span><br>";
}else{
$adminonline="<center><b>Администрация: <span style=\"color:#ff0000\">off-line</span><br>";
}

	
$sqryvar="Select sum(amount) from tb_history";
$iqryvar=mysql_query($sqryvar);
$tot1=mysql_result($iqryvar,0,0);
$totals=$tot1;
if ($totals==''){
	$totalpaid='0.00';
} else{
	$totalpaid=$tot1;
}
$viplacheno=round($totalpaid,2);

$sqryvar="Select sum(visits) from tb_users";
$iqryvar=mysql_query($sqryvar);
$tot1=mysql_result($iqryvar,0,0);
$clickserved=$tot1;

$res=mysql_query("select valuta from tb_site where id='1'");
$valuta=mysql_result($res,0,0);

mysql_close($con);
?>

<table width="100%" style="border-bottom: 2px #000 solid">

<tr>
<td>Клик:</td>
<td><?=$valuta ?>&nbsp;<?=$clck ?></td>
</tr>
<tr>
<td>Реф. клик:</td>
<td><?=$valuta ?>&nbsp;<?=$refclck?></td>
</tr>
<tr>
<td>Мин. к выплате:</td>
<td><?=$valuta ?>&nbsp;<?=$minimalka?></td>
</tr>
<tr>
<td>Пользователей:</td>
<td><?php echo $pemail_exist; ?></td>
</tr>
<td>Сегодня новых:</td>
<td>
<?=$nov?>
</td>
</tr>
<tr>
<td>Сейчас работают:</td>
<td><?=$tot1?></td>
</tr>
<tr>
<td><div id="ahref"><a href="online.php">Онлайн:</a></div></td>
<td><?php include("onlinesql.php"); ?>
</td>
</tr>

<tr>
<td>Выплат:</td>
<td><?=$viplat ?></td>
</tr>
<tr>
<td>Выплачено:</td>
<td><?=$valuta ?>&nbsp;<?=$viplacheno ?></td>
</tr>
<tr>
<td>Просмотрено:</td>
<td><?=$prosmotreno ?></td>
</tr>
<tr>
<td>Сайту (дней):</td>
<td>
<?=$vozrast ?>
</td>
</tr>
<tr><td>Денег на счетах:</td>
<td><?=$valuta ?>&nbsp;
<?=$denegna ?>
</td>
</tr>
<tr>
<td><div id="ahref"><a href="waitpay.php">Ожидают выплату:</a></div></td>
<td>
<?=$zdut?>
</td>
</tr>
</table>
<br>
<?=$adminonline ?>

Отпишитесь если ошибки будут))я не проверял...я обычно так там запросы убираю...

0

46

Убираем 2 совершенно ненужных (на мой взгляд) запроса к базе.
Запросы эти находятся, у кого в правой колонке у кого в левой (кто куда придумал поставить)
1й запрос:
Автовывод на обозрение всем жаждущим  :glasses:  информации о вашем WMID и Кошеле
Спрашивается: зачем нагружать базу если можно проставить эти данные ручками?
Итак: файл menuright.php (menuleft.php если пихнули в левую колонку)
Ищем блок
<fieldset width=200px>
<div id="fieldheader"><center>.::Аттестат и контакты::.</center></div>
<br>
<center>
<?
require('config.php');
$res=mysql_query("select * from tb_site where id='1'");
$row=mysql_fetch_array($res);
mysql_close($con);

$wmid=$row["wmid"];
$wmpurse=$row["purse"];
$valuta=$row["valuta"];

echo "<b>Наш WMID:</b> $wmid<br>";
echo "<b>Наш WM$valuta кошелек:</b> $wmpurse<br>";
?>
BL:<img src='http://stats.wmtransfer.com/Levels/pWMIDLevel.aspx?wmid=<?=$wmid?>&w=30&h=16&bg=FFFFFF' border=0 align=absmiddle><br>
<a href="https://passport.webmoney.ru/asp/certview.asp?wmid=<?=$wmid ?>" target=_blank><IMG SRC="https://passport.webmoney.ru/images/atstimg/88x31_user/blue_rus.gif" title="Здесь находится аттестат нашего WM идентификатора <?=$wmid ?>" border="0"></a>
<a href="http://www.webmoney.ru" target="_blank"><img src="./images/webmoney.gif" title="Принимаем WebMoney" border="0"></a>
</center>
</fieldset>

В этом блоке убираем все что выделено красным.
В то место где стоял такой код <?=$wmid ?> пишем свой WMID
В то место где стоял такой код $valuta пишем валюту кошеля.
В то место где стоял такой код $wmpurse пишем номер кошеля.

Все  :) на один запрос стало меньше.

2й запрос:
Ищем код
<?
require('config.php');
$user=$_SESSION["username"];
$res=mysql_query("select count(id) as kolvo from tb_mail where recipient='$user' and status='0'");
$res=mysql_fetch_array($res);
$inboxcount=$res["kolvo"];
mysql_close($con);
?>

<u>Внутренняя почта:</u><br>
»<a href="mail.php?p=inbox">Входящие сообщения (<?=$inboxcount?>)</a><br>
»<a href="mail.php?p=outbox">Исходящие сообщения</a><br>
»<a href="mail.php?p=sendmessage">Написать сообщение</a><br>

Кто при установке скрипта ничего не менял, у того этот код находится в menuright.php
Удаляем все что выделено красным цветом.

Все, уменьшили еще на один бесполезный запрос  ;)
Вы скажете а как же я буду знать сколько мне сообщений написали?
А оно вам надо? это знать?
При входе в аккаунт скрипт всегда проверяет наличие новых сообщений по внутренней почте, и показывает всегда в самом верху страницы что есть новое сообщение. А сколько их (сообщений) узнаете когда зайдете их почитать  :)
Зато разгрузили базу на два совсем ненужных запроса!

0

47

можно было и не убирать количество новых сообщений)) в хиадере после любого require('config.php');
вставим:
$res=mysql_query("select count(id) as kolvo from tb_mail where recipient='$user' and status='0'");
$res=mysql_fetch_array($res);
$novihmails=$res["kolvo"];

и потом в строке»<a href="mail.php?p=inbox">Входящие сообщения (<?=$inboxcount?>)</a><br>заменим <?=$inboxcount?> на <?=$novihmails?>
естесственно удалив и3 menuright.php код:
<?
require('config.php');
$user=$_SESSION["username"];
$res=mysql_query("select count(id) as kolvo from tb_mail where recipient='$user' and status='0'");
$res=mysql_fetch_array($res);
$inboxcount=$res["kolvo"];
mysql_close($con);
?>

Таким же образом в хидере можно дать переменной какой нить количество ссылок для просмотра или писем оплачиваемых...

0

48

allforbux написал(а):

Отпишитесь если ошибки будут))я не проверял...я обычно так там запросы убираю...

Сейчас работают: и Просмотрено: одно и то же показывает, сколько раз кликнул, столько и работают

0

49

потом выложу нормальный...у себя также убирал запросы всё работает))проверь))сар раскрутим вспомни и посмотри...

0

50

я пока не шарю в этом деле, и незнаю что даже и сказать, смотрю просто например на 1000вебмани, так у него 1-3 запроса в зависимости от страницы, мне чего-то кажется что он как-то по другому это всё сделал! хотя может я и ошибаюсь! как-то бы админа сюда этого затащить!

0


Вы здесь » Vse o BUX » SoooFast » Вопрос об оптимизации