На главную | Новости | Информация | Документация | Школа | ЧаВо | Файлы | Ссылки | Форум
Добротный платный
хостинг в традициях TAG.Hosting
Дополнительная информация: Документация |  Учебник PHP | Лицензия GNU

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Запрос В Базу Для Вывода Положения Результата
Alexander-V-Sh
сообщение 19.3.2007, 20:23
Сообщение #1


Участник
**

Профиль
Группа: Разработчики
Сообщений: 250
Регистрация: 4.8.2006
Из: Саратов
Пользователь №: 17 703



Прошу прощения за невнятный вопрос (даже незнаю как тему назвать.... ), но обьяснить сложно, попробую на примере кода и на словах.

Есть викторина, в которой участник набирает какое то количество балов и попадает в таблицу. Затем выводятся результаты, сортируясь по кол-ву балов (order by result). А нумерация идет через i++.
А как можно показать какое место занял участник?

Теперь через код попробую:

Имеется переменная $reiting (число)

Имеется база данных:

CREATE TABLE `result` (
`id` int(11) NOT NULL auto_increment,
`user` text NOT NULL,
`reiting` text NOT NULL,
PRIMARY KEY (`id`)
) ;

INSERT INTO `result` VALUES (1, '5766', 'Вася', '');
INSERT INTO `result` VALUES (2, '678', 'Петя', '');
INSERT INTO `result` VALUES (3, '421', 'Маша', '');
INSERT INTO `result` VALUES (4, '674', 'Даша', '');
INSERT INTO `result` VALUES (5, '3246', 'ккк', '');
INSERT INTO `result` VALUES (6, '4332', '556вик', '');
INSERT INTO `result` VALUES (7, '788', 'трушкин', '');

Мы имеем результат 761

Можно ли запросом в базу узнать, какое место будет занимать этот результат, если сортировать с самого лучшего? 1ое (т.е. лучшее) 2ое, 10ое ?


------
Пока на ум приходит только:
Записать а базу наш результат 761
Запросить в базу все (сортируя по результату) выводить reiting и счетчик i. На том месте где, текущий результат будет равен тому, что записали, в базу - вывести счетчик $i, который и будет местом, например 5.

А проще нельзя?


--------------------
▬▬▬©
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DreamC
сообщение 19.3.2007, 21:23
Сообщение #2


Участник
**

Профиль
Группа: Пользователи
Сообщений: 217
Регистрация: 25.1.2007
Пользователь №: 22 199



Например запрос WHERE 'reiting' > 761 и перед ним либо COUNT(id) либо mysql_num_rows('идентификатор запроса')
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Tulku
сообщение 20.3.2007, 3:01
Сообщение #3


Старожил
***

Профиль
Группа: Пользователи
Сообщений: 913
Регистрация: 27.8.2006
Из: Владивосток
Пользователь №: 18 324



Откройте любой блок, где выводится список с нумерацией перед ссылкой и вот вам готовый код. Делается все через тот же i++ только для нумерации вывода результата.


--------------------
Еврейский SQL-сервер отвечает запросом на запрос (с)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Alexander-V-Sh
сообщение 21.3.2007, 17:28
Сообщение #4


Участник
**

Профиль
Группа: Разработчики
Сообщений: 250
Регистрация: 4.8.2006
Из: Саратов
Пользователь №: 17 703



DreamC.

Спасиб smile.gif как то не догадася посчитать все через mysql_num_rows, где результат больше или равен нашему результату smile.gif
Это как раз и будет то место, которое занял участник.


--------------------
▬▬▬©
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему

 



Текстовая версия Сейчас: 17.4.2014, 4:39
Каталог сотовых телефонов - грабер

На главную | Новости | Информация | Документация | Школа | ЧаВо | Файлы | Ссылки

Rambler's Top100 Рейтинг@Mail.ru liveinternet.ru: показано число просмотров и посетителей за 24 часа Яндекс цитирования