Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 28.07.2012, 21:46   #1
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Таблица рекордов

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

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

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

Или какой метод предложите вы?
(Offline)
 
Ответить с цитированием
Старый 28.07.2012, 22:15   #2
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Таблица рекордов

Нашел способ как отсортировать. Сделать запрос в бд вида:
$msg "SELECT * FROM e_users ORDER BY o4ki DESC LIMIT 10"
А как считать эти первые 10 человек оттуда?
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 17:26   #3
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Таблица рекордов

Все. Разобрался. Спасибо.
Внимание! Нужен человек просмотреть 4 php скрипта (30-50 строчек каждая) для оптимизации. Найдется тот кому интересно?)))
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 18:06   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Таблица рекордов

Дык выкладывай, посмотрим.
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 18:52   #5
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Таблица рекордов

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

Структуры таблиц представлены на скринах.
Миниатюры
Нажмите на изображение для увеличения
Название: структура таблицы e_users.jpg
Просмотров: 943
Размер:	66.0 Кб
ID:	17271  Нажмите на изображение для увеличения
Название: структура таблицы e_weapons.jpg
Просмотров: 886
Размер:	27.7 Кб
ID:	17272  
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 19:23   #6
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Таблица рекордов

Сообщение от pie Посмотреть сообщение
Или какой метод предложите вы?
Что если сразу при сохранении рекорда вставлять его в позицию согласно количеству очков?
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 20:52   #7
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Таблица рекордов

Таблицу я сделал))))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com