| Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/darkorde/public_html/rating/ratingcron.php on line 265
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/darkorde/public_html/rating/ratingcron.php on line 24
подскажите где ошибка
вот сам код
<?php
$time_start=time();
include ("db.php");
if (empty($go)) $go=1;
else $go=$go;
//---------Функция вывода информации, полученной Парсером---------
function write_info ($aomain, $aouser, $gogogo)
{
global $go, $clan, $uroven, $nik, $online, $lavochnik, $diller;
// Выбираем основные данные
$page=$aomain[0]->page;
$rows=$aomain[0]->maxrows;
$foundrows=$aomain[0]->foundrows;
$kol_page=ceil($foundrows/$rows);
$sql="SELECT status FROM rating_status";
$result=mysql_query ($sql);
$row=mysql_fetch_array ($result);
$gde=$row['status'];
if ($gogogo==0)
{
$sql="DROP TABLE rating_info";
$result=mysql_query ($sql);
$sql="CREATE TABLE rating_info (
ID INT ( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
uid INT ( 255 )UNSIGNED NOT NULL ,
username VARCHAR( 255 ) NOT NULL ,
info VARCHAR( 255 ) NOT NULL ,
gender INT UNSIGNED NOT NULL ,
status VARCHAR( 255 ) NOT NULL ,
mapcity VARCHAR( 255 ) NOT NULL ,
mapnow VARCHAR( 255 ) NOT NULL ,
battle INT UNSIGNED NOT NULL ,
typeuser VARCHAR( 255 ) NOT NULL ,
guild_chief INT UNSIGNED NOT NULL ,
level INT UNSIGNED NOT NULL ,
logotip VARCHAR( 255 ) NOT NULL ,
dilersunduk VARCHAR( 255 ) NOT NULL ,
community VARCHAR( 255 ) NOT NULL ,
cvictory INT UNSIGNED NOT NULL ,
closs INT UNSIGNED NOT NULL ,
bwin INT UNSIGNED NOT NULL ,
blost INT UNSIGNED NOT NULL ,
bnowin INT UNSIGNED NOT NULL ,
description TEXT NOT NULL ,
winklost INT ( 255 ) NOT NULL ,
winklevel INT ( 255 ) NOT NULL ,
winilost INT ( 255 ) NOT NULL ,
PRIMARY KEY ( `ID` )
);
";
$result=mysql_query ($sql);
}
//------Печатаем заголовок таблицы-------
?>
<?php
//--end заголовка
//------Распечатываем полученную информацию-----------
for ($i=0; $i < count ($aouser); $i++)
{
// Рассчитываем номер пункта
$num=($page-1)*$rows+$i+1;
$userinf=$aouser[$i];
$tipa_win=$userinf->bwin;
$tipa_lost=$userinf->blost;
$tipa_level=$userinf->level;
if ($tipa_lost!=0) $winklost=$tipa_win/$tipa_lost;
else $winklost=$tipa_win;
if ($tipa_level!=0) $winklevel=$tipa_win/$tipa_level;
else $winklevel=$tipa_win;
$winilost=$tipa_win-$tipa_lost;
$sql="INSERT INTO rating_info VALUES ('', '".$userinf->uid."', '".$userinf->username."', '".$userinf->info."', '".$userinf->gender."', '".$userinf->status."', '".$userinf->mapcity."', '".$userinf->mapnow."', '".$userinf->battle."', '".$userinf->typeuser."', '".$userinf->guild_chief."', '".$userinf->level."', '".$userinf->logotip."', '".$userinf->dilersunduk."', '".$userinf->community."', '".$userinf->cvictory."', '".$userinf->closs."', '".$userinf->bwin."', '".$userinf->blost."', '".$userinf->bnowin."', '".$userinf->description."', '".$winklost."', '".$winklevel."', '".$winilost."');";
$result=mysql_query ($sql);
}
//------Распечатываем низ таблицы
?>
<html>
<head><title>Рейтинг Игроков</title>
<?php
if ($gde<$kol_page)
{
echo '<META HTTP-EQUIV="Refresh" Content="1, URL=ratingcron.php">';
$nextgde=$gde+1;
$sql="UPDATE rating_status SET status = '".$nextgde."' WHERE ID = '1';";
$result=mysql_query ($sql);
}
else
{
$sql="UPDATE rating_status SET status = '0' WHERE ID = '1';";
$result=mysql_query ($sql);
}
?>
</head>
<body>
<?php
echo 'PAGE: ';
echo $gde;
echo ' / ';
echo $kol_page;
?>
</body>
</html>
<?php
//---end низа таблицы
}
//------Класс для основных данных--
class LocatorInfo {
var $page;
var $maxrows;
var $error;
var $error_msg;
var $foundrows;
var $user;
function LocatorInfo ($aa)
{
foreach ($aa as $k=>$v)
$this->$k = $aa[$k];
}
}
//------Класс данных пользователей--
class LocatorUser {
var $uid;
var $username;
var $info;
var $gender;
var $status;
var $mapcity;
var $mapnow;
var $battle;
var $typeuser;
var $guild_chief;
var $level;
var $logotip;
var $dilersunduk;
var $community;
var $cvictory;
var $closs;
var $bwin;
var $blost;
var $bnowin;
var $description;
function LocatorUser ($aa)
{
foreach ($aa as $k=>$v)
$this->$k = $aa[$k];
}
}
//--------Функция чтения файла xml--
function read_xml ($filename, $datas)
{
$data = implode("",file($filename));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$data,$values,$tags);
xml_parser_free($parser);
if ($datas=="main") // Если нужны основные данные
{
foreach ($tags as $key=>$val)
{
if ($key == "main")
{
$mains=$val;
for ($i=0; $i < count ($mains); $i+=2)
{
$offset = $mains[$i] + 1;
$len = $mains[$i+1] - $offset;
// Парсим основные данные
$tdb[]=parseMain (array_slice ($values, $offset, $len));
}
}
else
{
continue;
}
}
}
elseif ($datas=="user") // Если нужны данные пользователей
{
foreach ($tags as $key=>$val)
{
if ($key == "user")
{
$users=$val;
for ($i=0; $i < count ($users); $i+=2)
{
$offset = $users[$i] + 1;
$len = $users[$i+1] - $offset;
// Парсим данные пользователей
$tdb[]=parseUser (array_slice ($values, $offset, $len));
}
}
else
{
continue;
}
}
}
return $tdb;
}
//------Функция-парсер основных данных
function parseMain ($mvalues)
{
for ($i=0; $i < count($mvalues); $i++)
$mainval[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
return new LocatorInfo($mainval);
}
//------Функция-парсер данных пользователей
function parseUser ($uvalues)
{
for ($i=0; $i < count($uvalues); $i++)
$userval[$uvalues[$i]["tag"]] = iconv('WINDOWS-1251',
'WINDOWS-1251', $uvalues[$i]["value"]);
return new LocatorUser($userval);
}
$time_now=time();
$raz=0;
$gogo=1;
$sql="SELECT status FROM rating_status";
$result=mysql_query ($sql);
$row=mysql_fetch_array ($result);
$gde=$row['status'];
for ($ind=0; $ind < 1; $ind++)
{
$filename="http://www.bloodyworld.com/index.php?file=infouserxml&page=";
if ($gde==0)
{
$filename.="1";
$gde=1;
$gogo=0;
}
else $filename.=$gde;
if ($raz==0)
{
$basemain=read_xml ($filename, "main"); // Получаем основные данные
$baseuser=read_xml ($filename, "user"); // Получаем данные пользователей
$raz=1;
}
else
{
$basemain=read_xml ($filename, "main"); // Получаем основные данные
$baseuser=array_merge($baseuser,read_xml ($filename, "user")); // Получаем данные пользователей
}
$time_now=time();
$time_lost=$time_now-$time_start;
if ($time_lost<25)
{
$gde++;
$ind--;
}
}
$sql="UPDATE rating_status SET status = '".$gde."' WHERE ID = '1';";
$result=mysql_query ($sql);
write_info($basemain, $baseuser, $gogo); // Выводим полученные данные в базу
?>
|
| |