Новичок
Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.3.2006
Репутация: нет Всего: нет
|
Доброго времени суток. Прошу указать на ошибки допущенные мною при создании PHP скрипта. Нужно обработать 3 разных текстовых докумкнтов. Есть БД, конфигурационный файл и 3 скрипта. ( см. ниже ) Дамп БД: Код | -- -- Структура таблицы `clan_sostav` --
CREATE TABLE `clan_sostav` ( `id` int(11) NOT NULL auto_increment, `name` varchar(32) default NULL, `sid` int(11) default NULL, PRIMARY KEY (`id`) ) ENGINE=DEFAULT CHARSET=koi8r AUTO_INCREMENT=95 ;
-- -- Структура таблицы `align` --
CREATE TABLE `align` ( `cname` longtext NOT NULL, `cp` int(11) NOT NULL default '0', `cup` int(11) NOT NULL default '0', `cpoint` int(11) NOT NULL default '0', `cpers` int(11) NOT NULL default '0', `cperschange` int(11) NOT NULL default '0', `cmiddle` int(11) NOT NULL default '0', `cmiddles` int(11) NOT NULL default '0', `cu` int(11) NOT NULL default '0' ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Структура таблицы `rchars` --
CREATE TABLE `rchars` ( `cname` varchar(60) NOT NULL default '', `cpoint` int(11) NOT NULL default '0', `cup` int(11) NOT NULL default '0', `cp` int(11) NOT NULL default '0', `cu` int(11) NOT NULL default '0', `id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=koi8r AUTO_INCREMENT=820 ;
-- -- Структура таблицы `rclans` --
CREATE TABLE `rclans` ( `cname` varchar(60) NOT NULL default '', `cpoint` int(11) NOT NULL default '0', `cup` int(11) NOT NULL default '0', `cp` int(11) NOT NULL default '0', `cu` int(11) NOT NULL default '0', `id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=koi8r AUTO_INCREMENT=124 ;
-- -- Структура таблицы `rnpc` --
CREATE TABLE `rnpc` ( `cname` varchar(60) NOT NULL default '', `cpoint` int(11) NOT NULL default '0', `cup` int(11) NOT NULL default '0', `cp` int(11) NOT NULL default '0', `cu` int(11) NOT NULL default '0', `id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=koi8r AUTO_INCREMENT=1341 ;
|
Кофигурационный файл (config.php): Код | <?php
$hostname = ''; $username = ''; $password = ''; $dbName = ''; $altable = "align"; $userstable = "rclans"; $ustable = "rchars"; $npctable = "rnpc"; $bgcolor_highlited = "#7F7FFF"; $bgcolor_normal = "F0F0F0"; $main_bgcolor = "#FF0000"; $fontcolor = "#000000"; $clanznakLICENSEDBYOTRIX=''; $clannameLICENSEDBYOTRIX=''; ?>
|
Скрипты: 1й скрипт, выводит неполностью данные (rchars.php): Код | <? include('config.php'); error_reporting(0); mysql_connect($hostname,$username,$password) or die(mysql_error()); mysql_select_db($dbName) or die(mysql_error()) or die(mysql_error()); mysql_query("SET character_set_client='cp1251'"); mysql_query("SET character_set_connection='cp1251'"); mysql_query("SET character_set_results='cp1251'");
echo"<center><b>Рейтинг Игроков</b><br><br>";
$clans = fopen("http://service.neverlands.ru/rate/players.txt","r"); echo "<table border=0 cellspacing=1 cellpadding=1 class=centr_table width=400><tr bgcolor=$main_bgcolor align=center><td width=50><b> # </b></td><td><b width=225>Ник</b></td><td width=85><b> Очки </b></td></tr>"; $pos = 1; $row = 0; while ($data = fgetcsv($clans, 1000, "|")) { if ($row != 1) {
$cname = $data[2]; $cpoint = $data[4]; $cup = $pos;
$request = "SELECT cname FROM $ustable WHERE cname='$cname'"; $r = mysql_query($request); $rws = mysql_fetch_row($r);
if ($rws == '0') { mysql_query("INSERT $ustable(cname,cpoint,cup) VALUES ('$cname','$cpoint','$pos')") or die(MySQL_error()); } else { $request = "SELECT cpoint, cp, cup FROM $ustable WHERE cname='$cname'"; $r = mysql_query($request); while ($rows = mysql_fetch_row($r)) { $check_point = $cpoint - $rows[0]; $check_up = $rows[2] - $pos; if ($check_point != '0') { mysql_query("UPDATE $ustable SET cpoint='$cpoint', cup='$cup', cp='$check_point', cu='$check_up' WHERE cname='$cname'") or die(mysql_error()); } }
}
$requestp = "SELECT cp, cu FROM $ustable WHERE cname='$cname'"; $rp = mysql_query($requestp); while ($rowsp = mysql_fetch_row($rp)) { $view_point = $rowsp[0]; $view_up = $rowsp[1]; }
if ($view_point >= '1') {$view_point = '<font color=green style="font-size: 9px;">(+'.$view_point.'</a>)</font>';} if ($view_point <= '-1') {$view_point = '<font color=red style="font-size: 9px;">('.$view_point.'</a>)</font>';} if ($view_up >= '1') {$view_up = '<font color=green style="font-size: 9px;">(+'.$view_up.'</a>)</font>';} if ($view_up <= '-1') {$view_up = '<font color=red style="font-size: 9px;">('.$view_up.'</a>)</font>';} if ($view_up == '0') {$view_up = '';} if ($view_point == '0') {$view_point = '';}
for ($c=0;$c<count($data); $c++) {
if ($data[1] == $clanznakLICENSEDBYOTRIX) { $bgclr = $bgcolor_highlited; } else { $bgclr = $bgcolor_normal; } if ($c == 0) switch ($data[$c]) { case "0": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> "; break; case "1": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/darks.gif border=0> "; break; case "2": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/lights.gif border=0> "; break; case "3": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/sumers.gif border=0> "; break; case "4": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/chaoss.gif border=0> "; break; case "9": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/angel.gif border=0> "; break; } if ($c == 1) if ($data[$c] == "none") $data[$c] = ""; else
$data[$c] = "<img src=http://image.neverlands.ru/signs/".$data[$c]." border=0> ";
if ($c == 2){ $pos++; $login = $data[$c];
$data[$c] = "<font color=$fontcolor>$data[$c]</font>"; }
if ($c == 3) $data[$c] = "<font color=$fontcolor> [".$data[$c]."] <a href=\"http://www.neverlands.ru/pinfo.cgi?".$login."\" target=_blank><img src=http://image.neverlands.ru/chat/info.gif border=0></a></font></td>";
if ($c == 4) $data[$c] = "<td align=left><font color=$fontcolor><b>".$data[$c]."</b> ".$view_point."</font></td>";
echo $data[$c]; } } echo "</tr>"; $row++; } echo "</table></center>"; fclose($clans);
?>
|
2й скрипт, невыводит русские названия (rclans.php): Код | <? include('config.php'); error_reporting(0); mysql_connect($hostname,$username,$password) or die(mysql_error()); mysql_query("SET NAMES 'cp1251'"); mysql_select_db($dbName) or die(mysql_error()) or die(mysql_error());
echo"<center><b>Рейтинг Кланов</b><br><br>";
$clans = fopen("http://service.neverlands.ru/rate/clans.txt","r");
echo "<table border=0 cellspacing=1 cellpadding=1 class=centr_table width=400><tr bgcolor=$main_bgcolor align=center><td width=50><b> # </b></td><td><b width=225>Клан</b></td><td width=85><b> Очки </b></td></tr>"; $pos = 0; $row = 0; while ($data = fgetcsv($clans, 1000, "|")) { if ($row != 1) {
$cname = $data[2]; $cpoint = $data[3]; $cup = $pos;
$request = "SELECT cname FROM $userstable WHERE cname='$cname'"; $r = mysql_query($request); $rws = mysql_fetch_row($r);
if ($rws == '0') { mysql_query("INSERT $userstable(cname,cpoint,cup) VALUES ('$cname','$cpoint','$pos')") or die(MySQL_error()); } else { $request = "SELECT cpoint, cp, cup FROM $userstable WHERE cname='$cname'"; $r = mysql_query($request); while ($rows = mysql_fetch_row($r)) { $check_point = $cpoint - $rows[0]; $check_up = $rows[2] - $pos; if ($check_point != '0') { mysql_query("UPDATE $userstable SET cpoint='$cpoint', cup='$cup', cp='$check_point', cu='$check_up' WHERE cname='$cname'") or die(mysql_error()); } }
}
$requestp = "SELECT cp, cu FROM $userstable WHERE cname='$cname'"; $rp = mysql_query($requestp); while ($rowsp = mysql_fetch_row($rp)) { $view_point = $rowsp[0]; $view_up = $rowsp[1]; }
if ($view_point >= '1') {$view_point = '<font color=green style="font-size: 9px;">(+'.$view_point.'</a>)</font>';} if ($view_point <= '-1') {$view_point = '<font color=red style="font-size: 9px;">('.$view_point.'</a>)</font>';} if ($view_up >= '1') {$view_up = '<font color=green style="font-size: 9px;">(+'.$view_up.'</a>)</font>';} if ($view_up <= '-1') {$view_up = '<font color=red style="font-size: 9px;">('.$view_up.'</a>)</font>';} if ($view_up == '0') {$view_up = '';} if ($view_point == '0') {$view_point = '';}
if (isset($data[2])) { if ($data[2] == "$clannameLICENSEDBYOTRIX") $bgcol = $bgcolor_highlited; else $bgcol = $bgcolor_normal; } if (isset($data[2])) echo "<tr bgcolor=".$bgcol."><td align=center><b><font color=$fontcolor>".$pos." </font></b><font color=$fontcolor>".$view_up."</font></td>";
$pos++; for ($c=0;$c<count($data)-2; $c++) {
if ($c == 0) switch ($data[$c]) { case "0": $data[$c] = "<td> "; break; case "1": $data[$c] = "<td> <img src=http://image.neverlands.ru/signs/darks.gif border=0> "; break; case "2": $data[$c] = "<td> <img src=http://image.neverlands.ru/signs/lights.gif border=0> "; break; case "3": $data[$c] = "<td> <img src=http://image.neverlands.ru/signs/sumers.gif border=0> "; break; case "4": $data[$c] = "<td> <img src=http://image.neverlands.ru/signs/chaoss.gif border=0> "; break; }
if ($c == 1) $data[$c] = "<img src=http://image.neverlands.ru/signs/".$data[$c]." border=0> ";
if ($c == 2){
if ($data[$c] == "$clanname") $data[$c] = "<b>".$data[$c]."</b>"; $data[$c] = "<font color=$fontcolor>".$data[$c]."</font></td>"; }
if ($c == 3) $data[$c] = '<td align=left><b><font color='.$fontcolor.'>'.$data[$c].'</font></b> '.$view_point.'</td>';
echo $data[$c]; } } echo "</tr>"; $row++; } fclose($clans); echo "</table>"; ?>
|
3й скрипт, не всё правильно выводити к томуже неправильно подсчет делает (rnpc.php): Код | <? include('config.php'); error_reporting(0); mysql_connect($hostname,$username,$password) or die(mysql_error()); mysql_select_db($dbName) or die(mysql_error()) or die(mysql_error()); error_reporting (0);
$clans = fopen("http://service.neverlands.ru/rate/npc.txt","r"); echo "<table border=0 cellspacing=1 cellpadding=1 class=centr_table width=400><tr bgcolor=$main_bgcolor align=center><td width=50><b> # </b></td><td><b width=225>Ник</b></td><td width=85><b> Очки </b></td></tr>"; $pos = 1; $row = 0; while ($data = fgetcsv($clans, 1000, "|")) { if ($row != 1) {
$cname = $data[2]; $cpoint = $data[4]; $cup = $pos;
$request = "SELECT cname FROM $npctable WHERE cname='$cname'"; $r = mysql_query($request); $rws = mysql_fetch_row($r);
if ($rws == '0') { mysql_query("INSERT $npctable(cname,cpoint,cup) VALUES ('$cname','$cpoint','$pos')") or die(MySQL_error()); } else { $request = "SELECT cpoint, cp, cup FROM $npctable WHERE cname='$cname'"; $r = mysql_query($request); while ($rows = mysql_fetch_row($r)) { $check_point = $cpoint - $rows[0]; $check_up = $rows[2] - $pos; if ($check_point != '0') { mysql_query("UPDATE $npctable SET cpoint='$cpoint', cup='$cup', cp='$check_point', cu='$check_up' WHERE cname='$cname'") or die(mysql_error()); } }
}
$requestp = "SELECT cp, cu FROM $npctable WHERE cname='$cname'"; $rp = mysql_query($requestp); while ($rowsp = mysql_fetch_row($rp)) { $view_point = $rowsp[0]; $view_up = $rowsp[1]; }
if ($view_point >= '1') {$view_point = '<font color=green style="font-size: 9px;">(+'.$view_point.'</a>)</font>';} if ($view_point <= '-1') {$view_point = '<font color=red style="font-size: 9px;">('.$view_point.'</a>)</font>';} if ($view_up >= '1') {$view_up = '<font color=green style="font-size: 9px;">(+'.$view_up.'</a>)</font>';} if ($view_up <= '-1') {$view_up = '<font color=red style="font-size: 9px;">('.$view_up.'</a>)</font>';} if ($view_up == '0') {$view_up = '';} if ($view_point == '0') {$view_point = '';}
for ($c=0;$c<count($data); $c++) {
if ($data[1] == $clanznakLICENSEDBYOTRIX) { $bgclr = $bgcolor_highlited; } else { $bgclr = $bgcolor_normal; } if ($c == 0) switch ($data[$c]) { case "0": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> "; break; case "1": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/darks.gif border=0> "; break; case "2": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/lights.gif border=0> "; break; case "3": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/sumers.gif border=0> "; break; case "4": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/chaoss.gif border=0> "; break; case "9": $data[$c] = "<tr bgcolor=".$bgclr."><td align=center><b><font color=$fontcolor>".$pos." </font></b>".$view_up."</td><td> <img src=http://image.neverlands.ru/signs/angel.gif border=0> "; break; } if ($c == 1) if ($data[$c] == "none") $data[$c] = ""; else
$data[$c] = "<img src=http://image.neverlands.ru/signs/".$data[$c]." border=0> ";
if ($c == 2){ $pos++; $login = $data[$c];
$data[$c] = "<font color=$fontcolor>$data[$c]</font>"; }
if ($c == 3) $data[$c] = "<font color=$fontcolor> [".$data[$c]."] <a href=\"http://www.neverlands.ru/pinfo.cgi?".$login."\" target=_blank><img src=http://image.neverlands.ru/chat/info.gif border=0></a></font></td>";
if ($c == 4) $data[$c] = "<td align=left><font color=$fontcolor><b>".$data[$c]."</b> ".$view_point."</font></td>";
echo $data[$c]; } } echo "</tr>"; $row++; } echo "</table></center>"; fclose($clans);
?>
|
Прошу указать на ошибку, и желательно скинуть исправленный код. Спасибо за внимание Это сообщение отредактировал(а) Guedda - 25.7.2007, 16:40
|