Хак анкеты УРОВНИ для j3.2.2 [mod]

954
.
J-mix
CaNiHeLpYoU, Что ты свою не оброзованость списываешь на возраст, к примеру я знал чела который в 13 лет написал двиг на ООП это не так просто двиг этот многий знают (WOWCMS)
А теперь по теме для топа не обизательно добавлять level в базу. для этого достаточно сделать правильный запрос.
$query = mysql_query ("SELECT *, (`postforum` + `komm` + `postguest` + `postchat` + `otvetov` + `balans`) AS `level` FROM `users` WHERE (`postforum` + `komm` + `postguest` + `postchat` + `otvetov` + `balans`) > 10 ORDER BY `level` DESC LIMIT 10");

вот и все дальше делай вывод вот впринцепе и все
.
J-mix, опередил ты меня
яб вот так зарядил где нибудь в хеад пхп чтоб еще и в приват отсылало сообщение
//mysql_query("ALTER TABLE `users` ADD `lvl` int(2) NOT NULL default '0'");
if($user_id){
     $nev_lvl = false;
     $opyt = $datauser['postforum'] + $datauser['komm'] + $datauser['postguest'] + $datauser['postchat'] + $datauser['otvetov'] + $datauser['balans'];
    if($opyt > 0 && $datauser['lvl'] == 0)
         $nev_lvl = 1;
    if($opyt > 50 && $datauser['lvl'] == 1)
         $nev_lvl = 2;
    if($opyt > 100 && $datauser['lvl'] == 2)
         $nev_lvl = 3;
    if($opyt > 150 && $datauser['lvl'] == 3)
         $nev_lvl = 4;
    if($opyt > 200 && $datauser['lvl'] == 4)
         $nev_lvl = 5;
    if($opyt > 250 && $datauser['lvl'] == 5)
         $nev_lvl = 6;
    if($opyt > 300 && $datauser['lvl'] == 6)
         $nev_lvl = 7;
    if($opyt > 500 && $datauser['lvl'] == 7)
         $nev_lvl = 8;
    if($opyt > 1000 && $datauser['lvl'] == 8)
         $nev_lvl = 9;
    if($opyt > 2000 && $datauser['lvl'] == 9)
         $nev_lvl = 10;
    if($nev_lvl){
         mysql_query("UPDATE `users` SET `lvl` = '" . $nev_lvl . "' WHERE `id` = '" . $user_id . "'");
         mysql_query("insert into `privat` values(0, '" . $login . "', 'Ваш уровень повыщен до $nev_lvl<br/>Данное письмо сгенерированно автоматически и отвечать на него не имеет смысла', '" . $realtime . "', 'Информатор', 'in', 'no', 'Информ сообщение', '0', '', '', '', '')");
    }
}
.
dakilla, Я написал запрос для топа, а ты для оповещение, это видь разный коды
.
dakilla, Я неуверен что твой код будет работать. Есть пара мелких непоняток.
.
Будет показывать 0 уровень всегда. Так как
if($opyt > 0 && $datauser['lvl'] == 0)

$nev_lvl = 1;

Удовлетворяет все уровни. Тосеть оно будет писать уровень 0, из-за того что нет противоречия к этой переменной. Потому нужно написать с низу вверх. С 10 уровня до 1. Тогда должно сростись.
.
Это в теории, возможно я ошибаюсь.

Кстати, о пацане 13 лет, я уже месяц двиг ВЕБ пишу. Скоро выйдет 1-я версия. На начало осени CarteCMS.
.
CaNiHeLpYoU, Без комментариев Гг.
.
J-mix (27.03.2011/13:42)
CaNiHeLpYoU, Что ты свою не оброзованость списываешь на возраст, к примеру я знал чела который в 13 лет написал двиг на ООП это не так просто двиг этот многий знают (WOWCMS)
А теперь по теме для топ
О великий кодер, напиши скрипт полностью. Мой неразвитый интелект не позволяет мне напрягаться до такой степени.
.
CaNiHeLpYoU (27.03.2011/15:13)
dakilla, Я неуверен что твой код будет работать. Есть пара мелких непоняток.
почемуже не будет должен бы по идее
.
CaNiHeLpYoU (27.03.2011/15:16)
Будет показывать 0 уровень всегда. Так как
if($opyt > 0 && $datauser['lvl'] == 0)

$nev_lvl = 1;

Удовлетворяет все уровни. Тосеть оно будет писать уровень 0, из-за того что нет противо
Извиняюсь незаметил твой ответ сразу
if($opyt > 0 то может быть и удовлетворяет все уровни, но $datauser['lvl'] вседа разный например если $opyt у нас равняется 251, а $datauser['lvl'] = 1 то вот больше никакое условие кроме
if($opyt > 50 && $datauser['lvl'] == 1)
у нас верным небудет так что тут хоть сверху вниз хоть снизу вверх эти условия расставляй разници никакой небудет
вот что реально будет не очень хорошо так это то что этот код нужно ставить на только что созданный сайт т.к он не может сразу поднять уровень юзера до соответствующего его опыту значения т.е если опыта у человека 251 а уровень записанный в бд 0 то ему придется 6 раз обновить страницу гг а следовательно ему придет 6 писем о повышении уровня подряд
Всего: 52