Показать сообщение отдельно
  #1 (permalink)  
Старый 04.04.2015, 12:40
Аспирант
Отправить личное сообщение для Нубопрогер Посмотреть профиль Найти все сообщения от Нубопрогер
 
Регистрация: 26.05.2014
Сообщений: 72

Помогите с php
Имею 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;
}

?>

Последний раз редактировалось Нубопрогер, 04.04.2015 в 13:34. Причина: overtime
Ответить с цитированием