Показать сообщение отдельно

  #10  
Старый 28.01.2010, 23:40
Fuckel
Участник форума
Регистрация: 17.01.2008
Сообщений: 170
С нами: 9640431

Репутация: 105
По умолчанию

Цитата:
Сообщение от N2kroot  
Народ,как сделать вывод текста из бд по рейтингу..
Да вообще --- как сделать этот рейтинг?

Вот я сделал страницу,на ней всё есть(рега\вход\выход\куки)
при регистрации создаётся файл с новым именем(именем юзера), а вообще --- пишется файл,типа :
all.dat
в нём:
Имя|0
Имя|1
Имя|2
Ну вот,а надо сделать что-то типа:
Имя|0|Рейтинг:80%
Имя|1|Рейтинг:10%
Имя|2|Рейтинг:10%
А если регнется новый,то:
Имя|0|Рейтинг:70%
Имя|1|Рейтинг:10%
Имя|2|Рейтинг:10%
Имя|3|Рейтинг:10%
А если кто-то повысит рейтинг,то,например,так:
Имя|0|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10%

И самое главное:
Вывод инфы:
Допустим файл содержит:
Имя|4|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10%
Тогда вывод:
Имя|4|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10% --- не активен,модератор удали его!
Вопрос: как это организовать?
Если надо --- выложу скрипт...
сортировка, например, такая:
PHP код:
<?php
$f 
file("users.dat");
$users = Array();
for (
$i=0$i<count($f); $i++)
{
    
$users[] = explode('|'$f[$i]);
    
settype($users[$i][2], int);
}
function 
cmp($a$b)
{
    if (
$a[2] == $b[2]) {
        return 
0;
    }
    return (
$a[2] < $b[2]) ? -1;
}
usort($users"cmp");
print_r($users);
?>
файл users.dat
Код:
a|0|1
aa|12|100
bvn|42|3
рейтинг - третий элемент, то есть это будут 1, 100 и 3

Последний раз редактировалось Fuckel; 28.01.2010 в 23:42..
 
Ответить с цитированием