select
sum(greatest(strength + (ifnull((select sum(add_strength) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as strength,
sum(greatest(dexterity + (ifnull((select sum(add_dexterity) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as dexterity,
sum(greatest(intuition + (ifnull((select sum(add_intuition) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as intuition,
sum(greatest(endurance + (ifnull((select sum(add_endurance) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as endurance,
sum(greatest(intelligence + (ifnull((select sum(add_intelligence) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as intelligence,
sum(greatest(wisdom + (ifnull((select sum(add_wisdom) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as wisdom,
ifnull((select sum(add_accuracy) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as accuracy,
ifnull((select sum(add_evasion) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as evasion,
ifnull((select sum(add_criticals) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as criticals,
sum(greatest($this->minDamage + (ifnull((select sum(add_min_physical_damage) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as min_physical_damage,
sum(greatest($this->maxDamage + (ifnull((select sum(add_max_physical_damage) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as max_physical_damage
from users where id = $this->id
select
sum(greatest(strength + (ifnull((select sum(add_strength) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_strength) from users_effects where owner_id = $this->id), 0)), 0)) as strength,
sum(greatest(dexterity + (ifnull((select sum(add_dexterity) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_dexterity) from users_effects where owner_id = $this->id), 0)), 0)) as dexterity,
sum(greatest(intuition + (ifnull((select sum(add_intuition) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_intuition) from users_effects where owner_id = $this->id), 0)), 0)) as intuition,
sum(greatest(endurance + (ifnull((select sum(add_endurance) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_endurance) from users_effects where owner_id = $this->id), 0)), 0)) as endurance,
sum(greatest(intelligence + (ifnull((select sum(add_intelligence) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_intelligence) from users_effects where owner_id = $this->id), 0)), 0)) as intelligence,
sum(greatest(wisdom + (ifnull((select sum(add_wisdom) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_wisdom) from users_effects where owner_id = $this->id), 0)), 0)) as wisdom,
ifnull((select sum(add_accuracy) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as accuracy,
ifnull((select sum(add_evasion) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as evasion,
ifnull((select sum(add_criticals) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as criticals,
sum(greatest($this->minDamage + (ifnull((select sum(add_min_physical_damage) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as min_physical_damage,
sum(greatest($this->maxDamage + (ifnull((select sum(add_max_physical_damage) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as max_physical_damage
from users where id = $this->id
Зачем? Разве не лучше просто выбрать нужные параметры, а расчеты вынести в пхп? - Да не, херня какая - то (с)Блѣ!
SQL:select sum(greatest(strength + (ifnull((select sum(add_strength) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_strength) from users_effects where owner_id = $this->id), 0)), 0)) as strength, sum(greatest(dexterity + (ifnull((select sum(add_dexterity) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_dexterity) from users_effects where owner_id = $this->id), 0)), 0)) as dexterity, sum(greatest(intuition + (ifnull((select sum(add_intuition) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_intuition) from users_effects where owner_id = $this->id), 0)), 0)) as intuition, sum(greatest(endurance + (ifnull((select sum(add_endurance) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_endurance) from users_effects where owner_id = $this->id), 0)), 0)) as endurance, sum(greatest(intelligence + (ifnull((select sum(add_intelligence) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_intelligence) from users_effects where owner_id = $this->id), 0)), 0)) as intelligence, sum(greatest(wisdom + (ifnull((select sum(add_wisdom) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)) + (ifnull((select sum(mod_wisdom) from users_effects where owner_id = $this->id), 0)), 0)) as wisdom, ifnull((select sum(add_accuracy) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as accuracy, ifnull((select sum(add_evasion) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as evasion, ifnull((select sum(add_criticals) from inventory where dressed_slot != 0 and owner_id = $this->id), 0) as criticals, sum(greatest($this->minDamage + (ifnull((select sum(add_min_physical_damage) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as min_physical_damage, sum(greatest($this->maxDamage + (ifnull((select sum(add_max_physical_damage) from inventory where dressed_slot != 0 and owner_id = $this->id), 0)), 0)) as max_physical_damage from users where id = $this->id
Я обычно такое удаляю, потому что страшноЗачем? Разве не лучше просто выбрать нужные параметры, а расчеты вынести в пхп? - Да не, херня какая - то (с)
может и ошибаюсь, но несколько легких запросов против одного тяжелого будут не в пользу тяжелогоСчитает статы со всеми плюсами минусами только на этапе запроса. Не знаю будет ли сильно быстрее, если сделать это кучей коротких запросов и писать логику на пхп. Но тут у тебя конечное число на выходе, а там надо развлекаться в каком порядке и при каких условиях делать математику.
Если грамотно его составить, то 1 запрос будет работать быстрее чем кучка мелких....может и ошибаюсь, но несколько легких запросов против одного тяжелого будут не в пользу тяжелого
public function getFullStats(): object
{
$stats = self::$db->ofetch("
select
strength,
dexterity,
intuition,
endurance,
intelligence,
wisdom
from users where id = $this->id");
$itemBonuses = self::$db->ofetch("
select
sum(add_strength) as item_strength,
sum(add_dexterity) as item_dexterity,
sum(add_intuition) as item_intuition,
sum(add_endurance) as item_endurance,
sum(add_intelligence) as item_intelligence,
sum(add_wisdom) as item_wisdom,
sum(add_accuracy) as item_accuracy,
sum(add_evasion) as item_evasion,
sum(add_criticals) as item_criticals,
sum(add_min_physical_damage) as item_min_physical_damage,
sum(add_max_physical_damage) as item_max_physical_damage
from inventory where dressed_slot != 0 and owner_id = $this->id");
$effectBonuses = self::$db->ofetch("
select
sum(mod_strength) as effect_strength,
sum(mod_dexterity) as effect_dexterity,
sum(mod_intuition) as effect_intuition,
sum(mod_endurance) as effect_endurance,
sum(mod_intelligence) as effect_intelligence,
sum(mod_wisdom) as effect_wisdom
from users_effects where owner_id = $this->id");
$obj = (object)[];
$obj->strength = max(0,$stats->strength + $itemBonuses->item_strength + $effectBonuses->effect_strength);
$obj->dexterity = max(0,$stats->dexterity + $itemBonuses->item_dexterity + $effectBonuses->effect_dexterity);
$obj->intuition = max(0,$stats->intuition + $itemBonuses->item_intuition + $effectBonuses->effect_intuition);
$obj->endurance = max(0,$stats->endurance + $itemBonuses->item_endurance + $effectBonuses->effect_endurance);
$obj->intelligence = max(0,$stats->intelligence + $itemBonuses->item_intelligence + $effectBonuses->effect_intelligence);
$obj->wisdom = max(0,$stats->wisdom + $itemBonuses->item_wisdom + $effectBonuses->effect_wisdom);
$obj->accuracy = max(0, $itemBonuses->item_accuracy);
$obj->evasion = max(0, $itemBonuses->item_evasion);
$obj->criticals = max(0, $itemBonuses->item_criticals);
$obj->min_physical_damage = max($this->minDamage, $this->minDamage + $itemBonuses->item_min_physical_damage);
$obj->max_physical_damage = max($this->maxDamage, $this->maxDamage + $itemBonuses->item_max_physical_damage);
return $obj;
}
Забавно. Прям перед твоей публикацией тут, в рабочем чате опубликовали тоже самое) Совпадение? Или Инс спалился?Внезапно!
PHP:$b = new class { function __destruct() { $GLOBALS['b'] = 2; } }; $a = 1; $b = 1; var_dump($a + $b); // 3
// начинается с $total_mass < 3
if ($total_mass >= 12) {
$vsego = "12";
$ziton = "4";
}
if ($total_mass >= 15) {
$vsego = "15";
$ziton = "5";
}
if ($total_mass >= 18) {
$vsego = "18";
$ziton = "6";
}
// и так до $total_mass >= 200 с шагом 3
// мягко говоря, дохуя строчек.
$total_mass = [2,3,4,5,6,7,8,9,10,11,12,13];
foreach ($total_mass as $tm) {
$ziton = intval($tm/3);
$vsego = $ziton * 3;
echo <<<EOL
--
tm = $tm
z = $ziton
v = $vsego
--
EOL;
}
/* Проверяем:
--
tm = 2
z = 0
v = 0
-- --
tm = 3
z = 1
v = 3
-- --
tm = 4
z = 1
v = 3
-- --
tm = 5
z = 1
v = 3
-- --
tm = 6
z = 2
v = 6
-- --
tm = 7
z = 2
v = 6
-- --
tm = 8
z = 2
v = 6
-- --
tm = 9
z = 3
v = 9
-- --
tm = 10
z = 3
v = 9
-- --
tm = 11
z = 3
v = 9
-- --
tm = 12
z = 4
v = 12
-- --
tm = 13
z = 4
v = 12
--
*/
ты не понимаешь, это же считать надо$ziton = intval($tm/3);
$vsego = $ziton * 3;
$yron = floor(abs($yron)/50*(57.5-$this->stats[$this->uids[$u2]]['zmproc']));
$yron = floor(abs($yron) - $this->stats[$this->uids[$u2]]['zmproc']);
//или
$yron -= $this->stats[$this->uids[$u2]]['zmproc'];
ЕслиИ я вот не понимаю ничего, зачем, к чему эти цифры вообще и что они хотят посчитать.
$this->stats[$this->uids[$u2]]['zmproc']
больше чем 57.5, то $yron
отрицательный. Похоже костыль из-за экономии строчек и нежелания отдельную проверку замутить. А в числителе, внезапно, парабола. При этом при значении 57,5 скрипт крашится. $sp = mysql_query('SELECT * FROM `items_users` WHERE `delete` = "0" AND `1price` > "0" AND `uid` = "'.$user['id'].'"');
while ($pl = mysql_fetch_array($sp)){
$item_main = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.$pl['item_id'].'" LIMIT 1'));
mysql_query('UPDATE `items_users` SET `1price` = "'.$item_main['price1'].'" WHERE `id` = "'.$pl['id'].'" AND `uid` = "'.$user['id'].'" LIMIT 1');
}
UPDATE `items_users` SET `1price` = (SELECT `price1` FROM `items_main` WHERE `items_main`.`id` = `items_users`.`item_id`) WHERE `1price` > 0 AND `delete` = 0 AND `uid` = значение
$cl = mysqli_query($GLOBALS['db'], 'SELECT
`items_users`.`id` as id, `items_users`.`id` AS `idu`,`items_users`.`item_id` as item_id,`items_users`.`1price`,`items_users`.`2price`,`items_users`.`uid`,`items_users`.`use_text`,
`items_users`.`data`,`items_users`.`inOdet`,`items_users`.`inShop`,`items_users`.`delete`,`items_users`.`iznosNOW`,`items_users`.`iznosMAX`,
`items_users`.`gift`,`items_users`.`gtxt1`,`items_users`.`gtxt2`,`items_users`.`kolvo`,`items_users`.`geniration`,`items_users`.`magic_inc`,`items_users`.`maidin`,
`items_users`.`lastUPD`,`items_users`.`timeOver`,`items_users`.`overType`,`items_users`.`secret_id`,`items_users`.`time_create`,`items_users`.`inGroup`,`items_users`.`dn_delete`,
`items_users`.`inTransfer`,`items_users`.`post_delivery`,`items_users`.`lbtl_`,`items_users`.`bexp`,`items_users`.`so`,`items_users`.`blvl`,`items_main`.`id` as item_id,`items_main`.`name`,
`items_main`.`img`,`items_main`.`type`,`items_main`.`inslot`,`items_main`.`2h`,`items_main`.`2too`,`items_main`.`iznosMAXi`,`items_main`.`inRazdel`,`items_main`.`price1`,
`items_main`.`price2`,`items_main`.`magic_chance`,`items_main`.`info`,`items_main`.`massa`,`items_main`.`level`,`items_main`.`magic_inci`,`items_main`.`overTypei`,
`items_main`.`group`,`items_main`.`group_max`,`items_main`.`geni`,`items_main`.`ts`,`items_main`.`srok`,`items_main`.`class`,`items_main`.`class_point`,`items_main`.`anti_class`,
`items_main`.`anti_class_point`,`items_main`.`max_text`,`items_main`.`useInBattle`,`items_main`.`lbtl`,`items_main`.`lvl_itm`,`items_main`.`lvl_exp`,
`items_main`.`lvl_aexp` , count(`items_users`.`id`) as inGroupCount
FROM `items_users`
LEFT JOIN `items_main` ON (`items_main`.`id` = `items_users`.`item_id`)
LEFT JOIN `items_shop` ON (`items_shop`.`item_id` = `items_main`.`id`)
WHERE (( `items_users`.time_create + `items_main`.srok) > unix_timestamp() OR `items_main`.srok = "0")
AND `items_users`.`delete`="0"
AND `items_users`.`item_id` = "' . (int)$_GET['itemid'] . '"
AND `items_users`.`inOdet`="0" AND `items_users`.`inShop`="30" and `items_main`.`type` != "18" AND `items_main`.`type` != "19" AND `items_main`.`type` != "20" AND `items_main`.`type` != "21" AND `items_main`.`type` != "22" AND `items_main`.`type` != "15" AND `items_main`.`type` != "12" AND `items_main`.`type` != "4" AND `items_main`.`type` != "5" AND `items_main`.`type` != "6" AND `items_main`.`type` != "1" AND `items_main`.`type` != "3" AND `items_main`.`type` != "8" AND `items_main`.`type` != "14" AND `items_main`.`type` != "13" AND `items_main`.`type` != "9" AND `items_main`.`type` != "10" AND `items_main`.`type` != "11" AND `items_main`.`type` != "29" AND `items_main`.`type` != "30"
GROUP BY `items_users`.`inGroup`, `items_users`.`uid`,`items_users`.`1price` HAVING `items_users`.inGroup > 0
UNION ALL
SELECT `items_users`.`id` as id, `items_users`.`id` AS `idu`,`items_users`.`item_id` as item_id,`items_users`.`1price`,`items_users`.`2price`,`items_users`.`uid`,`items_users`.`use_text`,
`items_users`.`data`,`items_users`.`inOdet`,`items_users`.`inShop`,`items_users`.`delete`,`items_users`.`iznosNOW`,`items_users`.`iznosMAX`,
`items_users`.`gift`,`items_users`.`gtxt1`,`items_users`.`gtxt2`,`items_users`.`kolvo`,`items_users`.`geniration`,`items_users`.`magic_inc`,`items_users`.`maidin`,
`items_users`.`lastUPD`,`items_users`.`timeOver`,`items_users`.`overType`,`items_users`.`secret_id`,`items_users`.`time_create`,`items_users`.`inGroup`,`items_users`.`dn_delete`,
`items_users`.`inTransfer`,`items_users`.`post_delivery`,`items_users`.`lbtl_`,`items_users`.`bexp`,`items_users`.`so`,`items_users`.`blvl`,`items_main`.`id` as item_id,`items_main`.`name`,
`items_main`.`img`,`items_main`.`type`,`items_main`.`inslot`,`items_main`.`2h`,`items_main`.`2too`,`items_main`.`iznosMAXi`,`items_main`.`inRazdel`,`items_main`.`price1`,
`items_main`.`price2`,`items_main`.`magic_chance`,`items_main`.`info`,`items_main`.`massa`,`items_main`.`level`,`items_main`.`magic_inci`,`items_main`.`overTypei`,
`items_main`.`group`,`items_main`.`group_max`,`items_main`.`geni`,`items_main`.`ts`,`items_main`.`srok`,`items_main`.`class`,`items_main`.`class_point`,`items_main`.`anti_class`,
`items_main`.`anti_class_point`,`items_main`.`max_text`,`items_main`.`useInBattle`,`items_main`.`lbtl`,`items_main`.`lvl_itm`,`items_main`.`lvl_exp`,
`items_main`.`lvl_aexp`, count(`items_users`.`id`) as inGroupCount
FROM `items_users` LEFT JOIN `items_main` ON (`items_main`.`id` = `items_users`.`item_id`)
WHERE (( `items_users`.time_create + `items_main`.srok) > unix_timestamp() OR `items_main`.srok = "0") AND `items_users`.`delete`="0" AND `items_users`.`item_id` = "' . (int)$_GET['itemid'] . '"
AND `items_users`.`inOdet`="0" AND `items_users`.`inShop`="30" and `items_main`.`type` != "18" AND `items_main`.`type` != "19" AND `items_main`.`type` != "20" AND `items_main`.`type` != "21" AND `items_main`.`type` != "22" AND `items_main`.`type` != "15" AND `items_main`.`type` != "12" AND `items_main`.`type` != "4" AND `items_main`.`type` != "5" AND `items_main`.`type` != "6" AND `items_main`.`type` != "1" AND `items_main`.`type` != "3" AND `items_main`.`type` != "8" AND `items_main`.`type` != "14" AND `items_main`.`type` != "13" AND `items_main`.`type` != "9" AND `items_main`.`type` != "10" AND `items_main`.`type` != "11" AND `items_main`.`type` != "29" AND `items_main`.`type` != "30"
GROUP BY `items_users`.`uid`,`items_users`.`1price` HAVING `items_users`.inGroup = 0
ORDER BY `1price` ASC , `inGroupCount` DESC');
if ((int)$_GET['otdel'] == 1) {
$typeOtdel = 18;
} elseif ((int)$_GET['otdel'] == 2) {
$typeOtdel = 19;
} elseif ((int)$_GET['otdel'] == 3) {
$typeOtdel = 20;
} elseif ((int)$_GET['otdel'] == 4) {
$typeOtdel = 21;
} elseif ((int)$_GET['otdel'] == 5) {
$typeOtdel = 22;
} elseif ((int)$_GET['otdel'] == 6) {
$typeOtdel = 15;
} elseif ((int)$_GET['otdel'] == 7) {
$typeOtdel = 12;
} elseif ((int)$_GET['otdel'] == 8) {
$typeOtdel = 4;
} elseif ((int)$_GET['otdel'] == 28) {
$typeOtdel = 7;
} elseif ((int)$_GET['otdel'] == 9) {
$typeOtdel = 5;
} elseif ((int)$_GET['otdel'] == 10) {
$typeOtdel = 6;
} elseif ((int)$_GET['otdel'] == 11) {
$typeOtdel = 1;
} elseif ((int)$_GET['otdel'] == 12) {
$typeOtdel = 3;
} elseif ((int)$_GET['otdel'] == 13) {
$typeOtdel = 8;
} elseif ((int)$_GET['otdel'] == 14) {
$typeOtdel = 14;
} elseif ((int)$_GET['otdel'] == 15) {
$typeOtdel = 13;
} elseif ((int)$_GET['otdel'] == 16) {
$typeOtdel = 9;
} elseif ((int)$_GET['otdel'] == 17) {
$typeOtdel = 10;
} elseif ((int)$_GET['otdel'] == 18) {
$typeOtdel = 11;
} elseif ((int)$_GET['otdel'] == 19) {
$typeOtdel = 29;
} elseif ((int)$_GET['otdel'] == 20) {
$typeOtdel = 30;
} elseif ((int)$_GET['otdel'] == 50) {
$typeOtdel = 29;
} elseif ((int)$_GET['otdel'] == 55) {
$typeOtdel = 29;
} elseif ((int)$_GET['otdel'] == 56) {
$typeOtdel = 29;
} elseif ((int)$_GET['otdel'] == 51) {
$typeOtdel = 31;
} elseif ((int)$_GET['otdel'] == 57) {
$typeOtdel = 31;
} elseif ((int)$_GET['otdel'] == 58) {
$typeOtdel = 31;
} elseif ((int)$_GET['otdel'] == 59) {
$typeOtdel = 31;
} elseif ((int)$_GET['otdel'] == 60) {
$typeOtdel = 62;
} elseif ((int)$_GET['otdel'] == 61) {
$typeOtdel = 62;
} elseif ((int)$_GET['otdel'] == 62) {
$typeOtdel = 62;
} elseif ((int)$_GET['otdel'] == 52) {
$typeOtdel = 62;
} elseif ((int)$_GET['otdel'] == 21) {
$typeOtdel = 45;
} elseif ((int)$_GET['otdel'] == 36) {
$typeOtdel = 30;
} elseif ((int)$_GET['otdel'] == 37) {
$typeOtdel = 29;
} elseif ((int)$_GET['otdel'] == 1050) {
$typeOtdel = 1050;
} else {
$typeOtdel = 18;
}
Сверху прям страшная штука, слишком много букав.меня другое веселит, вот эта дичь:
PHP:$cl = mysqli_query($GLOBALS['db'], 'SELECT `items_users`.`id` as id, `items_users`.`id` AS `idu`,`items_users`.`item_id` as item_id,`items_users`.`1price`,`items_users`.`2price`,`items_users`.`uid`,`items_users`.`use_text`, `items_users`.`data`,`items_users`.`inOdet`,`items_users`.`inShop`,`items_users`.`delete`,`items_users`.`iznosNOW`,`items_users`.`iznosMAX`, `items_users`.`gift`,`items_users`.`gtxt1`,`items_users`.`gtxt2`,`items_users`.`kolvo`,`items_users`.`geniration`,`items_users`.`magic_inc`,`items_users`.`maidin`, `items_users`.`lastUPD`,`items_users`.`timeOver`,`items_users`.`overType`,`items_users`.`secret_id`,`items_users`.`time_create`,`items_users`.`inGroup`,`items_users`.`dn_delete`, `items_users`.`inTransfer`,`items_users`.`post_delivery`,`items_users`.`lbtl_`,`items_users`.`bexp`,`items_users`.`so`,`items_users`.`blvl`,`items_main`.`id` as item_id,`items_main`.`name`, `items_main`.`img`,`items_main`.`type`,`items_main`.`inslot`,`items_main`.`2h`,`items_main`.`2too`,`items_main`.`iznosMAXi`,`items_main`.`inRazdel`,`items_main`.`price1`, `items_main`.`price2`,`items_main`.`magic_chance`,`items_main`.`info`,`items_main`.`massa`,`items_main`.`level`,`items_main`.`magic_inci`,`items_main`.`overTypei`, `items_main`.`group`,`items_main`.`group_max`,`items_main`.`geni`,`items_main`.`ts`,`items_main`.`srok`,`items_main`.`class`,`items_main`.`class_point`,`items_main`.`anti_class`, `items_main`.`anti_class_point`,`items_main`.`max_text`,`items_main`.`useInBattle`,`items_main`.`lbtl`,`items_main`.`lvl_itm`,`items_main`.`lvl_exp`, `items_main`.`lvl_aexp` , count(`items_users`.`id`) as inGroupCount FROM `items_users` LEFT JOIN `items_main` ON (`items_main`.`id` = `items_users`.`item_id`) LEFT JOIN `items_shop` ON (`items_shop`.`item_id` = `items_main`.`id`) WHERE (( `items_users`.time_create + `items_main`.srok) > unix_timestamp() OR `items_main`.srok = "0") AND `items_users`.`delete`="0" AND `items_users`.`item_id` = "' . (int)$_GET['itemid'] . '" AND `items_users`.`inOdet`="0" AND `items_users`.`inShop`="30" and `items_main`.`type` != "18" AND `items_main`.`type` != "19" AND `items_main`.`type` != "20" AND `items_main`.`type` != "21" AND `items_main`.`type` != "22" AND `items_main`.`type` != "15" AND `items_main`.`type` != "12" AND `items_main`.`type` != "4" AND `items_main`.`type` != "5" AND `items_main`.`type` != "6" AND `items_main`.`type` != "1" AND `items_main`.`type` != "3" AND `items_main`.`type` != "8" AND `items_main`.`type` != "14" AND `items_main`.`type` != "13" AND `items_main`.`type` != "9" AND `items_main`.`type` != "10" AND `items_main`.`type` != "11" AND `items_main`.`type` != "29" AND `items_main`.`type` != "30" GROUP BY `items_users`.`inGroup`, `items_users`.`uid`,`items_users`.`1price` HAVING `items_users`.inGroup > 0 UNION ALL SELECT `items_users`.`id` as id, `items_users`.`id` AS `idu`,`items_users`.`item_id` as item_id,`items_users`.`1price`,`items_users`.`2price`,`items_users`.`uid`,`items_users`.`use_text`, `items_users`.`data`,`items_users`.`inOdet`,`items_users`.`inShop`,`items_users`.`delete`,`items_users`.`iznosNOW`,`items_users`.`iznosMAX`, `items_users`.`gift`,`items_users`.`gtxt1`,`items_users`.`gtxt2`,`items_users`.`kolvo`,`items_users`.`geniration`,`items_users`.`magic_inc`,`items_users`.`maidin`, `items_users`.`lastUPD`,`items_users`.`timeOver`,`items_users`.`overType`,`items_users`.`secret_id`,`items_users`.`time_create`,`items_users`.`inGroup`,`items_users`.`dn_delete`, `items_users`.`inTransfer`,`items_users`.`post_delivery`,`items_users`.`lbtl_`,`items_users`.`bexp`,`items_users`.`so`,`items_users`.`blvl`,`items_main`.`id` as item_id,`items_main`.`name`, `items_main`.`img`,`items_main`.`type`,`items_main`.`inslot`,`items_main`.`2h`,`items_main`.`2too`,`items_main`.`iznosMAXi`,`items_main`.`inRazdel`,`items_main`.`price1`, `items_main`.`price2`,`items_main`.`magic_chance`,`items_main`.`info`,`items_main`.`massa`,`items_main`.`level`,`items_main`.`magic_inci`,`items_main`.`overTypei`, `items_main`.`group`,`items_main`.`group_max`,`items_main`.`geni`,`items_main`.`ts`,`items_main`.`srok`,`items_main`.`class`,`items_main`.`class_point`,`items_main`.`anti_class`, `items_main`.`anti_class_point`,`items_main`.`max_text`,`items_main`.`useInBattle`,`items_main`.`lbtl`,`items_main`.`lvl_itm`,`items_main`.`lvl_exp`, `items_main`.`lvl_aexp`, count(`items_users`.`id`) as inGroupCount FROM `items_users` LEFT JOIN `items_main` ON (`items_main`.`id` = `items_users`.`item_id`) WHERE (( `items_users`.time_create + `items_main`.srok) > unix_timestamp() OR `items_main`.srok = "0") AND `items_users`.`delete`="0" AND `items_users`.`item_id` = "' . (int)$_GET['itemid'] . '" AND `items_users`.`inOdet`="0" AND `items_users`.`inShop`="30" and `items_main`.`type` != "18" AND `items_main`.`type` != "19" AND `items_main`.`type` != "20" AND `items_main`.`type` != "21" AND `items_main`.`type` != "22" AND `items_main`.`type` != "15" AND `items_main`.`type` != "12" AND `items_main`.`type` != "4" AND `items_main`.`type` != "5" AND `items_main`.`type` != "6" AND `items_main`.`type` != "1" AND `items_main`.`type` != "3" AND `items_main`.`type` != "8" AND `items_main`.`type` != "14" AND `items_main`.`type` != "13" AND `items_main`.`type` != "9" AND `items_main`.`type` != "10" AND `items_main`.`type` != "11" AND `items_main`.`type` != "29" AND `items_main`.`type` != "30" GROUP BY `items_users`.`uid`,`items_users`.`1price` HAVING `items_users`.inGroup = 0 ORDER BY `1price` ASC , `inGroupCount` DESC');
Да, это знакомая многим комиссионка..... Чем нужно было думать разрабу, что бы такую дичь накалякать....
И продолжение кунст камеры:
PHP:if ((int)$_GET['otdel'] == 1) { $typeOtdel = 18; } elseif ((int)$_GET['otdel'] == 2) { $typeOtdel = 19; } elseif ((int)$_GET['otdel'] == 3) { $typeOtdel = 20; } elseif ((int)$_GET['otdel'] == 4) { $typeOtdel = 21; } elseif ((int)$_GET['otdel'] == 5) { $typeOtdel = 22; } elseif ((int)$_GET['otdel'] == 6) { $typeOtdel = 15; } elseif ((int)$_GET['otdel'] == 7) { $typeOtdel = 12; } elseif ((int)$_GET['otdel'] == 8) { $typeOtdel = 4; } elseif ((int)$_GET['otdel'] == 28) { $typeOtdel = 7; } elseif ((int)$_GET['otdel'] == 9) { $typeOtdel = 5; } elseif ((int)$_GET['otdel'] == 10) { $typeOtdel = 6; } elseif ((int)$_GET['otdel'] == 11) { $typeOtdel = 1; } elseif ((int)$_GET['otdel'] == 12) { $typeOtdel = 3; } elseif ((int)$_GET['otdel'] == 13) { $typeOtdel = 8; } elseif ((int)$_GET['otdel'] == 14) { $typeOtdel = 14; } elseif ((int)$_GET['otdel'] == 15) { $typeOtdel = 13; } elseif ((int)$_GET['otdel'] == 16) { $typeOtdel = 9; } elseif ((int)$_GET['otdel'] == 17) { $typeOtdel = 10; } elseif ((int)$_GET['otdel'] == 18) { $typeOtdel = 11; } elseif ((int)$_GET['otdel'] == 19) { $typeOtdel = 29; } elseif ((int)$_GET['otdel'] == 20) { $typeOtdel = 30; } elseif ((int)$_GET['otdel'] == 50) { $typeOtdel = 29; } elseif ((int)$_GET['otdel'] == 55) { $typeOtdel = 29; } elseif ((int)$_GET['otdel'] == 56) { $typeOtdel = 29; } elseif ((int)$_GET['otdel'] == 51) { $typeOtdel = 31; } elseif ((int)$_GET['otdel'] == 57) { $typeOtdel = 31; } elseif ((int)$_GET['otdel'] == 58) { $typeOtdel = 31; } elseif ((int)$_GET['otdel'] == 59) { $typeOtdel = 31; } elseif ((int)$_GET['otdel'] == 60) { $typeOtdel = 62; } elseif ((int)$_GET['otdel'] == 61) { $typeOtdel = 62; } elseif ((int)$_GET['otdel'] == 62) { $typeOtdel = 62; } elseif ((int)$_GET['otdel'] == 52) { $typeOtdel = 62; } elseif ((int)$_GET['otdel'] == 21) { $typeOtdel = 45; } elseif ((int)$_GET['otdel'] == 36) { $typeOtdel = 30; } elseif ((int)$_GET['otdel'] == 37) { $typeOtdel = 29; } elseif ((int)$_GET['otdel'] == 1050) { $typeOtdel = 1050; } else { $typeOtdel = 18; }
Я с таким даже не пытаюсь разбираться, легче удалить и написать с нуля
if ($this->hodID == 3 || $this->hodID == 6 || $this->hodID == 9 || $this->hodID == 13 || $this->hodID == 15 || $this->hodID == 18 || $this->hodID == 21 || $this->hodID == 24 || $this->hodID == 27 || $this->hodID == 30 || $this->hodID == 33 || $this->hodID == 37 || $this->hodID == 40 || $this->hodID == 43 || $this->hodID == 46 || $this->hodID == 49 || $this->hodID == 52 || $this->hodID == 55 || $this->hodID == 59 || $this->hodID == 62 || $this->hodID == 65 || $this->hodID == 68 || $this->hodID == 71) {
if($this->hodID % 3 == 0)