forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PHP / MySQL (http://forum.boolean.name/forumdisplay.php?f=135)
-   -   Таблица рекордов (http://forum.boolean.name/showthread.php?t=17103)

pie 28.07.2012 21:46

Таблица рекордов
 
Есть база данных. Там записаны id(не повторяются), имя, фамилия и столбец score. Как можно перебрать по параметру score всех пользователей и составить массив содержащий 10 человек с наибольшим числом очков в порядке убывания.

Была мысль взять сколько записей в БД, но не знаю как проверить одного со всеми.

PHP код:

$j 0;
for (
0количество записей в БДi++)
{
     if (
очки мои очки других)
     {
          
$arr[j] = мой id;
          
$j $j 1;
     }


Или какой метод предложите вы?

pie 28.07.2012 22:15

Ответ: Таблица рекордов
 
Нашел способ как отсортировать. Сделать запрос в бд вида:
PHP код:

$msg "SELECT * FROM e_users ORDER BY o4ki DESC LIMIT 10"

А как считать эти первые 10 человек оттуда?

pie 03.08.2012 17:26

Ответ: Таблица рекордов
 
Все. Разобрался. Спасибо.
Внимание! Нужен человек просмотреть 4 php скрипта (30-50 строчек каждая) для оптимизации. Найдется тот кому интересно?)))

moka 03.08.2012 18:06

Ответ: Таблица рекордов
 
Дык выкладывай, посмотрим.

pie 03.08.2012 18:52

Ответ: Таблица рекордов
 
Вложений: 2
Запись данных при переходе "Игровое пространство" -> "Меню":
http://pastebin.com/ngFd1bi5
Запись данных в БД при первом входе. Если пользователь существует обновляем его данные:
http://pastebin.com/hZM3GJLU
Чтение данных из БД для вывода их на экран в приложении (так же используется для обновления данных при переходе "Игровое пространство" -> "Меню" и покупке оружия):
http://pastebin.com/Matcp1SP
Покупка оружия:
http://pastebin.com/BcuZ21kg

Структуры таблиц представлены на скринах.

Жека 03.08.2012 19:23

Ответ: Таблица рекордов
 
Цитата:

Сообщение от pie (Сообщение 234612)
Или какой метод предложите вы?

Что если сразу при сохранении рекорда вставлять его в позицию согласно количеству очков?

pie 03.08.2012 20:52

Ответ: Таблица рекордов
 
Таблицу я сделал))))


Часовой пояс GMT +4, время: 21:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot