Вопрос в следующем: Есть база данных mysql, где сохранён ID пользователя и его результаты (int(11)) Как сделать так, чтобы на одной из страниц сайта, показывалась десятка лучших результатов и их ID
Лучшие и худшие SELECT * FROM `table` ORDER BY `result` DESC LIMIT 10 SELECT * FROM `table` ORDER BY `result` ASC LIMIT 10
А если надо вывести лучшие из файла? PHP: $file = file('DATA/users.txt'); И ответ что то типа $file = array('12375|1000' , '23745723|5000' , '237284|0' , '234345|8000' , '87634|10500' , '23445|6300' , '1233454|2100' , '786634|4800' , '324656|0' , '546567|15900' , '456546|19000' , '456567|7400' , '4765765|2100' , '76543|0' , '923434|6300' , '23654|1000' , '84587142|3700');
$file = array('12375|1000' , '23745723|5000' , '237284|0' , '234345|8000' , '87634|10500' , '23445|6300' , '1233454|2100' , '786634|4800' , '324656|0' , '546567|15900' , '456546|19000' , '456567|7400' , '4765765|2100' , '76543|0' , '923434|6300' , '23654|1000' , '84587142|3700'); foreach($file as $as){ $arr[] = explode('|', $as); } А сортировать как?
Я бы в этом месте сделал по-другому: PHP: <pre> <?php $file = array( '12375|1000', '23745723|5000', '237284|0', '234345|8000', '87634|10500', '23445|6300', '1233454|2100', '786634|4800', '324656|0', '546567|15900', '456546|19000', '456567|7400', '4765765|2100', '76543|0', '923434|6300', '23654|1000', '84587142|3700' ); $all = array(); foreach($file as $as) { $arr = explode('|', $as); $all[$arr[0]] = $arr[1]; } // По возрастанию asort($all, SORT_NUMERIC); print_r($all); // По убыванию arsort($all, SORT_NUMERIC); print_r($all); ?> </pre> Но это если та часть, которая до | - уникальна.