Имею 3 файла, с них каждые 2 секунды идут запросы, которые тормозят сайт. Общий вес файлов: 8Кб. Объединил их в один по всем правилам, получилось 6Кб, сайт перестал тормозить и перестали работать места, которые получают через ajax данные. При этом путь я поменял на новый файл.
Вот код:
<?
function getQuery($query){
$res = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_row($res);
$var = $row[0];
return $var;
}
function setQuery($query){
$res = mysql_query($query) or die(mysql_error());
return $res;
}
function chat($chatevent) {
switch($chatevent){
case "get":
$max_message = 90;
$count = getQuery("SELECT COUNT(`id`) FROM `chat`;");
$m = getQuery("SELECT MAX(id) FROM `chat` WHERE 1");
$mg = $_GET['id'];
if($mg == 0){$mg = $m-$max_message;}
if($mg < 0){$mg = 0;}
$msg = array();
if($mg<=$m){
$query = "SELECT * FROM `chat` WHERE `id`>".$mg." AND `id`<=".$m." ORDER BY `id` ";
$res = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($res)){
if ($row['text'] != 'null'){
$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>$row['text']);
} else {
$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>"SENT NULL!");
}
}
}
echo json_encode($msg);
break;
case "set":
$prof = '<in>[П] </in>';
$adm = '<adm>[A] </adm><yellow>';
$tadm = '<test> [Т] </test><gray>';
$closey = '</yellow>';
$closeg = '</gray>';
$name = $_GET["name"];
$privat = '<server>[Server]</server>';
$all = 'all';
if ($_COOKIE['ball']>=60) { $name = $prof . $_GET["name"] . $closey;}
if ($_GET["name"] == "portestos") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "admin") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "help") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "update") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "qqqqq") {$name = $prof . $tadm . $_GET["name"] . $closeg;}
if ($_GET["name"] == "server") {
$name = $privat;
$command = $_GET['msg'];
mysql_query("INSERT INTO `chat` (`id` ,`name` ,`text` )VALUES (NULL , '$privat', '$command')");
mysql_query("INSERT INTO `gamechat` (`id` ,`name` ,`text`, `channel` )VALUES (NULL , '$privat', '$command', '$all')");
}
$name = iconv("CP1251", "UTF-8", $name);
$msg = $_GET["msg"];
$msg = urldecode($msg) | iconv("KOI8-R", "KOI8-RU", $msg);
$msg = iconv("CP1251", "UTF-8", $msg);
if ($_GET["name"] != '<server>[Server]</server>') {
setQuery("INSERT INTO `chat` (`id` ,`name` ,`text` )VALUES (NULL , '$name', '$msg');");
} else {}
break;
}
}
function gchat($gchatevent) {
switch($gchatevent){
case "get":
$max_message = 90;
$count = getQuery("SELECT COUNT(`id`) FROM `gamechat`;");
$m = getQuery("SELECT MAX(id) FROM `gamechat` WHERE 1");
$mg = $_GET['id'];
if($mg == 0){$mg = $m-$max_message;}
if($mg < 0){$mg = 0;}
$msg = array();
if($mg<=$m){
header('Content-type: text/html; charset=utf-8');
$query = "SELECT * FROM `gamechat` WHERE `id`>".$mg." AND `id`<=".$m." ORDER BY `id` ";
$res = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($res)){
if ($row['text'] != 'null'){
$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "gmsg"=>$row['text'], "game"=>$row['channel']);
} else {
$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "gmsg"=>"SENT NULL!");
}
}
}
echo json_encode($msg);
break;
case "set":
$prof = '<in>[П] </in>';
$adm = '<adm>[A] </adm><yellow>';
$tadm = '<test> [Т] </test><gray>';
$closey = '</yellow>';
$closeg = '</gray>';
$name = $_GET["name"];
$game = $_GET["game"];
$privat = '<server>[Server]</server>';
if ($_COOKIE['ball']>=60) { $name = $prof . $_GET["name"] . $closey;}
if ($_GET["name"] == "portestos") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "admin") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "help") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "update") {$name = $prof . $adm . $_GET["name"] . $closey;}
if ($_GET["name"] == "qqqqq") {$name = $prof . $tadm . $_GET["name"] . $closeg;}
if ($_GET["name"] == "server") {
$name = $privat;
$command = $_GET['msg'];
mysql_query("INSERT INTO `chat` (`id` ,`name` ,`text` )VALUES (NULL , '$privat', '$command')");
mysql_query("INSERT INTO `gamechat` (`id` ,`name` ,`text`, `channel` )VALUES (NULL , '$privat', '$command', '$all')");
}
$name = iconv("CP1251", "UTF-8", $name);
$gmsg = $_GET["gmsg"];
$gmsg = urldecode($gmsg);/* | iconv("KOI8-R", "KOI8-RU", $gmsg);*/
$gmsg = iconv("CP1251", "UTF-8", $gmsg);
setQuery("INSERT INTO `gamechat` (`id` ,`name` ,`text`, `channel` )VALUES (NULL , '$name', '$gmsg', '$game');");
break;
}
}
function rolling($batevent) {
switch($batevent){
case "gameget":
$mg = $_GET['id'];
$msgame = array();
$res = mysql_query("SELECT * FROM `gameserv1` WHERE `id`>'.$mg.' ORDER BY `id` ");
while($row = mysql_fetch_array($res)){
$msgame[] = array("id"=>$row["id"], "gamename"=>$row["gamename"], "gamers"=>$row["gamers"], "gamein"=>$row["gamein"]);
}
echo json_encode($msgame);
break;
case "gamecreate":
$glog = $_GET['login'];
$gname = $_GET['gamename'];
$ggamon = $_GET['gamersonly'];
mysql_query("INSERT INTO `gameserv1` (`id` ,`lgcreate` ,`gamename`, `gamers`, `gamein`)VALUES (NULL , '$glog', '$gname', '$ggamon', '0')");
break;
}
}
mysql_connect('localhost', 'root', '') or die("Не могу соединиться с MySQL.");
mysql_select_db('mafia') or die("Не могу подключиться к базе.");
mysql_query('SET NAMES utf-8;');
switch($_GET["room"]){
case "chat":
$chatevent = $_GET["event"];
chat($chatevent);
break;
case "gamechat":
$gchatevent = $_GET["event"];
gchat($gchatevent);
break;
case "rolling":
$batevent = $_GET["ivent"];
rolling($batevent);
break;
}
?>