- 1
SELECT rr.hit, count(rr.hit) AS cnt FROM `r_hits` AS rr WHERE rr.hit IN (SELECT DISTINCT rh.hit FROM `r_hits`AS rh) GROUP BY rr.hit;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 11
−125
SELECT rr.hit, count(rr.hit) AS cnt FROM `r_hits` AS rr WHERE rr.hit IN (SELECT DISTINCT rh.hit FROM `r_hits`AS rh) GROUP BY rr.hit;
Вот что бывает, когда голова не работает в обед в понедельник.
А делов-то всего на select hit, COUNT(id) from r_hit group by hit было...
+166
for ( ; $k <= 15; ++$k ) {
$map[$k] = $mx2[$k];
// A
if ( $map[$k] == 10 && $k == 1 || $map[$k] == 10 && $k == 2 || $map[$k] == 10 && $k == 3 ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
}
$mx2 - массив из 15 элементов(элементы имеют значение от 1 до 10, расположены рандомно). Генерируется таким образом новый массив $map, в котором не могут быть два одинаковых элемента подряд(а так же текущий и пред-предыдущий не должны быть равны). Как бы сделал типичный программист? Зафигачил бы в цикле цикл, в которм бы проверял равенство текущего элемента и предыдущего. А вот так сделал мудак со стажем. Не удивительно, что периодически всё работает не так как надо...
+168
$date=date("d.m.y");
$data=date("d.m.y");
В header.php, который инклюдитя в каждом файле. И, что самое главное, в коде используются обе переменных!
+170
$order = strtolower($order);
if ($order=='id' OR $order=='created_by' OR $order=='created_at' OR
$order=='action')
{
$order = $order;
}
else
{
$order = 'id';
}
Надо крепче спать и внимательней писать.
+170.9
<?php
$mounths["January"]="01";
$mounths["February"]="02";
$mounths["March"]="03";
$mounths["April"]="04";
$mounths["May"]="05";
$mounths["June"]="06";
$mounths["July"]="07";
$mounths["August"]="08";
$mounths["September"]="09";
$mounths["October"]=10;
$mounths["November"]=11;
$mounths["December"]=12;
$m=date("F");
$d=date("d");
$Y=date("Y");
$datetime=date("Y")."-".$mounths[$m]."-".date("d")." ".date("H").":".date("i").":".date("s");
$date=date("Y")."-".$mounths[$m]."-".date("d");
?>
Ээээ, чо? Нарыл в проекте. Отпаиваюсь чаем.
+158.2
if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
if(MYSQL_NUMROWS($result))
{
while($rows = mysql_fetch_row($result))
{
if(isset($gmr_chip[$rows[0]])) $gmr_chip[$rows[0]] += $rows[1];
else $gmr_chip[$rows[0]] = $rows[1];
if(isset($gmr_price[$rows[0]])) $gmr_price[$rows[0]] += $rows[2];
else $gmr_price[$rows[0]] = $rows[2];
}
}
if(!$result = MYSQL_QUERY("SELECT gmr_id, gmr_regdate, gmr_login, gmr_mail, gmr_credits, gmr_money, gmr_status, gmr_birthday, adv_id FROM ".PREFIX."_gamers WHERE gmr_birthday != '';")) { die(mysql_error()); exit; }
if(MYSQL_NUMROWS($result))
{
while($rows = mysql_fetch_row($result))
{
$gmr_id[$rows[0]] = $rows[0];
$gmr_regdate[$rows[0]] = $rows[1];
$gmr_login[$rows[0]] = $rows[2];
$gmr_mail[$rows[0]] = $rows[3];
$gmr_credits[$rows[0]] = $rows[4];
$gmr_money[$rows[0]] = $rows[5];
$gmr_status[$rows[0]] = $rows[6];
$gmr_birthday[$rows[0]] = $rows[7];
if(!isset($gmr_quations[$rows[0]])) $gmr_quations[$rows[0]] = 0;
if(!isset($gmr_chip[$rows[0]])) $gmr_chip[$rows[0]] = 0;
if(!isset($gmr_price[$rows[0]])) $gmr_price[$rows[0]] = 0;
if(isset($gmr_adverted[$rows[8]])) $gmr_adverted[$rows[8]]++;
else $gmr_adverted[$rows[8]] = 1;
$gadv_id[$rows[0]] = $rows[8];
}
}
MYSQL_QUERY("DROP TABLE ".PREFIX."_tmp_gamers;");
if (!mysql_query ("CREATE TABLE ".PREFIX."_tmp_gamers (
gmr_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
gmr_regdate DATE NOT NULL,
gmr_login CHAR(32) NOT NULL,
gmr_mail CHAR(32) NOT NULL,
gmr_credits INT UNSIGNED NOT NULL,
gmr_money DEC(10, 2) UNSIGNED NOT NULL,
gmr_status INT UNSIGNED NOT NULL,
gmr_birthday CHAR(12) NOT NULL,
gmr_quations INT UNSIGNED NOT NULL,
gmr_chip DEC(10, 2) UNSIGNED NOT NULL,
gmr_price DEC(10, 2) UNSIGNED NOT NULL,
gmr_adverted INT UNSIGNED NOT NULL,
adv_id INT UNSIGNED NOT NULL,
UNIQUE KEY (gmr_id));")) { die(mysql_error()); exit; }
$first = true;
$query = "INSERT INTO ".PREFIX."_tmp_gamers VALUES ";
if(isset($gmr_id))
{
foreach($gmr_id as $key)
{
if(!$first) $query .= ', ';
else $first = false;
if(!isset($gmr_adverted[$key])) $gmr_adverted[$key] = 0;
$query .= "($gmr_id[$key], '$gmr_regdate[$key]', '$gmr_login[$key]', '$gmr_mail[$key]', $gmr_credits[$key], $gmr_money[$key], $gmr_status[$key], '$gmr_birthday[$key]', $gmr_quations[$key], $gmr_chip[$key], $gmr_price[$key], $gmr_adverted[$key], $gadv_id[$key])";
}
$query .= ";";
if(!MYSQL_QUERY($query)) { die(mysql_error()); exit; }
}
unset($gmr_id);
unset($gmr_regdate);
unset($gmr_login);
unset($gmr_mail);
unset($gmr_credits);
unset($gmr_money);
unset($gmr_status);
unset($gmr_birthday);
unset($gmr_quations);
unset($gmr_chip);
unset($gmr_price);
unset($gmr_adverted);
unset($gadv_id);
$type = 'norm';
И кучка unset-ов! Ты гляди - он еще и память экономит!
В таблице _gamers over 5k записей. Не трудно догадаться, каких размеров получается строка $query? И главный вопрос: нахрена временная таблица?
+148.7
if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
if(MYSQL_NUMROWS($result))
{
//какой-то код
}
А я-то думаю, чего это скрипту не хватает памяти - а в таблице несколько тысяч записей.
+164
<?
if( !defined("ADMIN") ) die("Access denied.");
// Получение новых сообщений
mysql_query('SET NAMES cp1251'); // Чертовы костыли!
if($messages_count_new>0) {
$sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 0";
$result = mysql_query($sql);
$messages_new = array();
while ($row = mysql_fetch_assoc($result)) {
$messages_new[] = $row;
}
}
// Получение прочитанных сообщений
$sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 1";
$result = mysql_query($sql);
$messages_read = array();
while ($row = mysql_fetch_assoc($result)) {
$messages_read[] = $row;
}
$OUT .= '
<table>
<tr><td><h1>Внутренняя почта</h1></td></tr>';
if(count($messages_new) > 0 OR count($messages_read) > 0):
if(count($messages_new) > 0):
$OUT .= '<tr><td><h2>У вас '.count($messages_new).' новых сообщений</h2></td></tr>
<tr><tr>
<table class="messages_list" width="100%">
<tr><th>Дата</th><th>Тема</th></tr>';
foreach($messages_new as $key=>$item):
$OUT .= '<tr>
<td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
<td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
</tr>';
endforeach;
$OUT .= '</td></tr></table>';
endif;
if(count($messages_read) > 0):
$OUT .= '<tr><td><h2>У вас '.count($messages_new).' прочитанных сообщений</h2></td></tr>
<tr><tr>
<table class="messages_list" width="100%">
<tr><th>Дата</th><th>Тема</th></tr>';
foreach($messages_read as $key=>$item):
$OUT .= '<tr>
<td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
<td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
</tr>';
endforeach;
$OUT .= '</td></tr></table>';
endif;
else:
$OUT .= '<tr><td>У вас нет сообщений</tr></td></table>';
endif;
:((((
+148
<? if (!$isLogged) {
echo '
<table class="br-table" align="center" cellspacing="0" cellpadding="0">
<tr>
<td class="corner-lt"></td>
<td class="left-br-top"></td>
<td class="corner-rt"></td>
</tr>
<tr>
<td colspan="3" class="box">
<h1 class="h1-title" ><img src="img/star.png">';
блаблабла
Да, и <? if(): ?> <?endif;?> их тоже не учили :(
+171.6
if ( !empty( $page ) )
{
if ( $page == "login" )
{
$spage = "Login.inc";
}
else if ( $page == "rules" )
{
$spage = "rules.inc";
}
else if ( $page == "help" )
{
$spage = "help.inc";
}
else if ( $page == "wm" )
{
$spage = "wm.inc";
}
else if ( $page == "game"
{
$spage = "game.inc";
}
else if ( $page == "webmoney" )
{
$spage = "webmoney.inc";
}
else if ( $page == "egold" )
{
$spage = "egold.inc";
}
else if ( $page == "cashin" )
{
$spage = "cashin.inc";
}
else if ( $page == "ballans" )
{
$spage = "ballans.inc";
}
else if ( $page == "remind" )
{
$spage = "remind.inc";
}
else if ( $page == "contact" )
{
$spage = "contact.inc";
}
else if ( $page == "reg" )
{
$spage = "reg.inc";
}
:(((