EOMY.NET Хостинг EOMY.NET: Форум поддержки
Руки обрубать таким "программерам" нада
Автор
Сообщение
noLove Два пингвина Зарегистрирован: 25.04.2007 Сообщения: 352 18114
Добавлено: Пт, 04 Апр, 2008 21:04 Заголовок сообщения: Руки обрубать таким "программерам" нада
пишу сайт для игрового сервера Lineage 2.
там сейчас есть с..убожество. сайтом это назвать нереально. Написал свой движок с 0. Теперь начал скрипты статистики со старого с..убожества пытаться приживить к моему. Я просто в диком шоке:
Код: <?php
$database="lin2world";
include("db_connect.php"); //sql connect
$query="select * from castle as a left outer join pledge as b on a.pledge_id=b.pledge_id left outer join user_data as c on b.ruler_id=c.char_id order by id";
$result=mssql_query($query);
$castle=array();
for ($x=1;$castle[$x]=mssql_fetch_assoc($result);$x++){ }
$query="select b.name,a.castle_id from castle_war as a left outer join pledge as b on a.pledge_id=b.pledge_id order by a.castle_id";
$result=mssql_query($query);
$castlewar=array();
while ($arr=mssql_fetch_assoc($result))
{
$castlewar[$arr[castle_id]][]=$arr;
}
$castle_list=array("Gludio Castle","Dion Castle","Giran Castle","Oren Castle","Aden Castle","Innadrile Castle","Goddard Castle","Rune Castle", "Schuttgart Castle");
$stake=array("0%","5%","10%","15%");
echo <<<HTML
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table6">
<tr>
<td vAlign="top">
<table cellSpacing="0" cellPadding="0" width="100%" border="0" id="table10">
<tr>
<td> </td>
</tr>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Gludio Castle</b></font></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/1.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table11">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[1]["name"]) echo $castle[1]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[1]["char_name"]) echo $castle[1]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[1]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[1]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[1]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
<!--castle war-->
HTML;
if (isset($castlewar[1])) {
echo <<<HTML
<tr>
<td>
<font class=w>Атакуют кланы:</font></td>
<td class="info">
<font class=w>
HTML;
foreach ($castlewar[1] as $v)
echo $v["name"]." ";
echo <<<HTML
</font>
</td>
</tr>
<!--castle war-->
</td></tr>
HTML;
}
echo <<<HTML
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="100%" border="0" id="table12">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<font class=gold><b>Dion Castle</b></font></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/2.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table13">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[2]["name"]) echo $castle[2]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[2]["char_name"]) echo $castle[2]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[2]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[2]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[2]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
<!--castle war-->
HTML;
if (isset($castlewar[2])) {
echo <<<HTML
<tr>
<td>
<font class=w>Атакуют кланы:</font></td>
<td class="info">
<font class=w>
HTML;
foreach ($castlewar[2] as $v)
echo $v["name"]." ";
echo <<<HTML
</font>
</td>
</tr>
<!--castle war-->
</td></tr>
HTML;
}
echo <<<HTML
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="100%" border="0" id="table14">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Giran Castle</b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/3.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table15">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[3]["name"]) echo $castle[3]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[3]["char_name"]) echo $castle[3]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[3]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[3]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[3]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
<!--castle war-->
HTML;
if (isset($castlewar[3])) {
echo <<<HTML
<tr>
<td>
<font class=w>Атакуют кланы:</font></td>
<td class="info">
<font class=w>
HTML;
foreach ($castlewar[3] as $v)
echo $v["name"]." ";
echo <<<HTML
</font>
</td>
</tr>
<!--castle war-->
</td></tr>
HTML;
}
echo <<<HTML
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table16">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Oren Castle</b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/4.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table17">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[4]["name"]) echo $castle[4]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[4]["char_name"]) echo $castle[4]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[4]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[4]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[4]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table18">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Aden Castle</b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/5.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table19">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[5]["name"]) echo $castle[5]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[5]["char_name"]) echo $castle[5]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[5]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[5]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[5]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table16">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Innadrill Castle</b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/6.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table17">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[6]["name"]) echo $castle[6]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[6]["char_name"]) echo $castle[6]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[6]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[6]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[6]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table16">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Goddard Castle</b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/7.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table17">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[7]["name"]) echo $castle[7]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[7]["char_name"]) echo $castle[7]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[7]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[7]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[7]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table16">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Rune Castle</b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/8.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table17">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[8]["name"]) echo $castle[8]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[8]["char_name"]) echo $castle[8]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[8]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[8]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[7]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="70%" border="0" id="table16">
<tr>
<td> </td>
</tr>
<br><br><br>
<tr>
<td class="h-cell b-tblr" colSpan="2">
<b>Schuttgart Castle<b></td>
</tr>
<tr>
<td class="n-cell b-bl" width="234">
<font class=w><br>
<img src="images/castle/9.gif"></font></td>
<td class="n-cell b-blr p-2">
<table cellSpacing="0" cellPadding="0" width="100%" align="center" id="table17">
<tr>
<td width="50%">
<font class=w>Контролируется:</font></td>
<td class="info" width="50%">
<font class=w>
HTML;
if ($castle[9]["name"]) echo $castle[9]["name"];
else echo 'Нет хозяина';
echo <<<HTML
</font>
</td>
</tr>
<tr>
<td>
<font class=w>Лидер клана:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[9]["char_name"]) echo $castle[9]["char_name"];
else echo 'Нет';
echo <<<HTML
</font> </td>
</tr>
<tr>
<td>
<font class=w>Ставка налога:</font></td>
<td class="info">
<font class=w>
HTML;
echo $castle[9]["tax_rate"];
echo <<<HTML
%</font></td>
</tr>
<tr>
<td>
<font class=w>Статус осады:</font></td>
<td class="info">
<font class=w>
HTML;
if ($castle[9]["next_war_time"]!=0) echo date("F j, Y, G:i",$castle[7]["next_war_time"]);
else echo 'Дата не определена';
echo <<<HTML
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p align="left"></a>
HTML;
?>
я там вначале еще табы расставил, чтобы понять что где и как, а остальное - в "чистом виде", как в скрипте было написано.
таких "программистов" расстреливать надо предварительно руки прибить гвоздями к жопе, и подвесить за яйца.
простите меня за грубость, других эмоций при виде этого у меня просто нет. Это еще не самый страшный код... это всего лишь "контроль замков".
Надо сказать что весь этот код весит 14 кб с копейками. я его переписал и уложился в 825 байт, или около того...
а вот одно из самых страшных вещей:
Код:
if (!$sort)$sort="Lev";
if ($sort!="char_name"&&$sort!="race"&&$sort!="Lev"&&$sort!="class")die("error");
$result = mssql_query("SELECT a.*,b.char_name as uname from olympiad_result as a
left join user_data as b on a.char_id=b.char_id
order by a.season DESC,a.match_count DESC");
$olympa=array();
while ($arr=mssql_fetch_assoc($result)) {
$olympa[$arr[season]][]=array(
"class"=>$arr['class'],
"point"=>$arr[point],
"match_count"=>$arr[match_count],
"id"=>$arr[char_id],"name"=>$arr[uname]);
}
$result = mssql_query("select b.*,a.char_name,a.Lev,a.race,a.class from user_data as a
left join olympiad_result as b on a.char_id=b.char_id
where online='1'
order by $sort $order");
$maxprint_online=30;
$max=mssql_num_rows($result);
$ps=ceil($max/$maxprint_online);$i=0;
echo "<table border=1>
<tr><th width=250 style='color:#7f7f7f;'><a href='?go={$_SESSION['statsform']}&order=$order&sort=char_name&opage=$opage'>Имя игрока</a></th>
<th width=200 style='color:#7f7f7f;'><a href='?go={$_SESSION['statsform']}&order=$order&sort=race&opage=$opage'>Раса</a></th>
<th width=200 style='color:#7f7f7f;'><a href='?go={$_SESSION['statsform']}&order=$order&sort=class&opage=$opage'>Класс</a></th>
<th width=20 style='color:#7f7f7f;'><a href='?go={$_SESSION['statsform']}&order=$order&sort=Lev&opage=$opage'>Уровень</a></th></tr>";
while ($arr=mssql_fetch_assoc($result)) {
$arr1[$arr[char_name]][seasons][]=$arr[season];
$arr1[$arr[char_name]][data]=$arr;
}
$indx=0;
foreach ($arr1 as $arr) {
$indx++;
sort($arr[seasons]);
$fsts="";
$fsts=$arr[seasons][0];
$seasons="";
if (sizeof($arr[seasons])>0)
foreach ($arr[seasons] as $vvv){
$cup="";
if ($arr[data][char_name]==$olympa[$vvv][0][name]) {
$cup="";
}
$seasons.=$cup.$seass[$vvv]." ";
}
$arr=$arr[data];
if (($i>=($opage-1)*$maxprint_online&&$i<$opage*$maxprint_online)||$opage<0)
{
$olymp=" style='color:#7f7f7f'";$olymp1=$olymp;
if (trim($seasons)!="")
{
$olymp=" style='color:#FFAA00'";
$olymp1=$olymp." id='u$indx' OnMouseOver='javascript:showpopup(\"u$indx\",\"<tr><th height=15 style=color:#7f7f7f><br>Участник олимпиад</th></th><tr><td style=color:#7f7f7f align=center>{$seasons}<br><br></td></tr>\");'
OnMouseOut='javascript:hidepopup();' OnMouseMove='javascript:movepopup();'";
}
$cup="";
foreach ($olympa as $k1=>$v1)
{
if ($olympa[$k1][0]&&$arr[char_name]==$v1[0][name])
{
$cup="";
}
}
echo "
<tr><td$olymp1><p align='center'>".($olymp==" style='color:#7f7f7f'"?"":"$cup <a href='?go=20&nick={$arr[char_name]}&seas=$fsts' style='color:#7f7f7f; font-weight: bold;'>")." {$arr[char_name]}</a></td>
<td$olymp><p align='center'>{$racec[$arr[race]]}</td>
<td$olymp><p align='center'>{$class_list[$arr['class']]}</td>
<td$olymp><p align='center'>{$arr[Lev]}</td>
</tr>";
}
$i++;
}
здесь йа тоже в конце кода табов несколько штук поставил, а то без бутылки не разобраться... да и с табами ниче не понятно...
надо сказать, я до сих пор не могу понять как это работает:Е _________________ Друзья, уважайте труд других
http://xternalx.com - моя хомпага
Вернуться к началу
SergejFedosov 11 1110 1000 Зарегистрирован: 18.08.2006 Сообщения: 1127 8864
Добавлено: Сб, 05 Апр, 2008 04:51 Заголовок сообщения:
Наверно эту тему следовало открывать в разделе "Программирование для WEB". _________________Кредитная карта для веб-мастера
Вернуться к началу
Alek$ 11 1110 1000 Зарегистрирован: 24.11.2007 Сообщения: 1136 Откуда: Новосибирск 26695
Добавлено: Вс, 06 Апр, 2008 08:18 Заголовок сообщения:
noLove
не видал ты мой код, когда я только-только программировать начинал... С недельку назад на какой-то старой дискете нашел один свой проектик из самых первых - сначало дико ржал над собой, а потом, как до ядра дошел, уже плакал
Впрочем, этот код тоже еще то г... У нас препод даже специальны термин для подобных шедевров придумал - "говнокод", извиняюсь. Он дядка незакомплексованный, порю такие диагнозы коду выписывает, что хоть падай _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
noLove Два пингвина Зарегистрирован: 25.04.2007 Сообщения: 352 18114
Добавлено: Вс, 06 Апр, 2008 14:32 Заголовок сообщения:
Alek$, респект и тебе и дядьке!
Я тоже вчера другу объяснял как данные из XML читать в C#
Открыл одну из первых своих прог и просто офигел.... Там такая помойка. Сейчас, прошествии чуть больше полтора года с момента когда я начал кодить, мой код нынешний имхо стал гораздо качественнее, т.к. стараюсь комментировать все что можно, пишу структурированный код, с разметкой кода, ну а так же, чтобы мой код был легко расширяем
А респект потому что растешь и развиваешься. Да нас таких на самом деле много, просто все прячутся _________________ Друзья, уважайте труд других
http://xternalx.com - моя хомпага
Вернуться к началу
[LP]LordPro.teus Призрак Лорда Зарегистрирован: 26.07.2007 Сообщения: 5092 42282
Добавлено: Вс, 06 Апр, 2008 14:42 Заголовок сообщения:
Почитал свои первые скрипты... Ничего, вроде сносно = )) Если не учитывать явного незнакомства с Css)) а так ничего... Теперь пытаюсь их переделать максимально компактизировав _________________
До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь !
Вернуться к началу
Powered by phpBB © 2001, 2005 phpBB Group