Прошу прощения за невнятный вопрос (даже незнаю как тему назвать.... ), но обьяснить сложно, попробую на примере кода и на словах.
Есть викторина, в которой участник набирает какое то количество балов и попадает в таблицу. Затем выводятся результаты, сортируясь по кол-ву балов (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.
А проще нельзя?