Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124

Таблица рекордов

28.07.2012, 20:01. Показов 3999. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Есть база данных. В нем написаны id, имена, фамилии пользователей и очки заработанные ими. Как из базы данных выбрать 10 человек с наибольшим количеством очков и расположить их по убыванию?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.07.2012, 20:01
Ответы с готовыми решениями:

Таблица рекордов
Создал игру для ВК на JS. Хочу сделать таблицу рекордов по ВСЕМ игрокам которые в неё играли. Как сделать теоретически знаю, а вот на...

Таблица рекордов
Помогите найти ошибку. При работе процедуры постоянно получается, что количество набранных очков меньше результата в таблице. По окончанию...

Таблица рекордов
нужно создать таблицу рекордов из 15 лучших игр в файле и вывести на экран. как сделать запись (имени вручную и очков автоматически) в эту...

16
 Аватар для Dimka1judo
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
28.07.2012, 20:43
Скинь sql запрос таблицы своей, попытаюсь помочь.
0
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
28.07.2012, 20:49  [ТС]
PHP
1
2
3
4
5
6
7
$link = mysql_connect($mysql_host, $mysql_user, $mysql_password)
or die("Could not connect : " . mysql_error());
mysql_select_db($my_database) or die("Could not select database"); 
 
$msg = "SELECT * FROM e_users where id = '$_id'";
$result = mysql_query($msg) or die("Query failed : " . mysql_error());
$line = mysql_fetch_array($result);
0
 Аватар для Dimka1judo
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
28.07.2012, 20:59
После ORDER BY пиши по какому столбцу тебе нужно отсортировать (в твоём случае это сначало по очкам потом можешь ещё и через id)
PHP
1
$msg = "SELECT * FROM e_users ORDER BY здесь пишешь по какому полю тебе нужно отсортировать(получается тебе нужно вписать столбец с очками) DESC LIMIT 10";
Например если у меня будет столбец с очками называться och то будет вот так
PHP
1
$msg = "SELECT * FROM e_users ORDER BY och DESC, id DESC LIMIT 10";
1
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
28.07.2012, 21:05  [ТС]
Это ты предлагаешь отсортировать в самой БД и оттуда уже считывать первые 10 человек?
0
 Аватар для Dimka1judo
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
28.07.2012, 21:15
Я предлагаю сделать сначала выборку из базы данных а потом выводить уже списком например.
Вот наглядный пример с проверкой.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$dl = mysql_query("SELECT id,title FROM data ORDER BY och DESC, id DESC LIMIT 10",$db);
 
if (!$dl)
{
echo "<p>Запрос на выборку данных из базы не прошел. Ошибка <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
 
if (mysql_num_rows($dl) > 0)
 
{
$my = mysql_fetch_array($dl);
 
do 
{
Тут уже выводи свой список из 10 человек
}
while ($my = mysql_fetch_array($dl));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
Да кстати очки в базе лучше хранить в "integer". В целых числах.
1
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
28.07.2012, 22:49
Цитата Сообщение от Dimka1judo Посмотреть сообщение
Вот наглядный пример с проверкой.
Он, конечно нагляден, но не нужно такому учить Нам будет больше проблем потом отучивать от этого поповского г-на, которого пруд пруди...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$errmsg = "<p>Запрос на выборку данных из базы не прошел. Ошибка <br> <strong>Код ошибки:</strong></p>";
$sql = "SELECT id,title FROM data ORDER BY och DESC, id DESC LIMIT 10";
$dl = mysql_query($sql,$db) or die($errmsg.mysql_error());
if (mysql_num_rows($dl) > 0)
{
    while($fetch = mysql_fetch_assoc($dl))
    {
        // Тут уже выводи свой список из 10 человек
    }
}
else 
{
    echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
}
2
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
28.07.2012, 23:10  [ТС]
То есть выводить? мне бы в массив их записать. допустим в массив arr.
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
28.07.2012, 23:14
Хорошо. С тебя структура таблицы

Добавлено через 2 минуты
Погоди, а зачем? Они же и так щас в массиве
1
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
28.07.2012, 23:19  [ТС]
То есть теперь существует массив $fetch в котором записаны 10 первых пользователей? и я могу получить доступ к каждому вот так $fetch[0], $fetch[1] и тд?
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
28.07.2012, 23:22
да, да! Только не по индексам а по названиям полей! $fetch['id'], $fetch['title'] и т.д.
1
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
28.07.2012, 23:31  [ТС]
Тогда мне не понятно. Как мне всех десятерых то вывести? Если все так как ты написал то выводится только один. Разве нет? Мне нужно чтобы в конце получилась одна переменная-массив в котором бы содержались id этих десятерых.

Добавлено через 2 минуты
Если я получу эти id. То я из базы данных смогу всю их информацию вытащить.
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
28.07.2012, 23:42
Нет не один. Цикл WHILE тебе встречался?
Покааааа.... из базы есть что тащить --- тащим!

Добавлено через 2 минуты
Можно хоть так написать:
PHP
1
2
3
4
5
6
7
if (mysql_num_rows($dl) > 0)
{
    while($fetch = mysql_fetch_assoc($dl))
    {
        echo 'Пользователь ' . $fetch['username'] . 'Его ID '. $fetch['id'];
    }
}
Понятна идея?
1
 Аватар для stupidstudent
18 / 15 / 0
Регистрация: 25.10.2011
Сообщений: 241
29.07.2012, 15:15
Цитата Сообщение от Денис Н. Посмотреть сообщение
Нам будет больше проблем потом отучивать от этого поповского г-на, которого пруд пруди...

Не по теме:


объясните почему все против попова и его "г..вна"?
за этот только час, прочитав пару тем, все только об этом и пишут.
тока по нормальному, а не - "он просто г..внокодер";

1
 Аватар для Dimka1judo
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
29.07.2012, 15:27
Цитата Сообщение от stupidstudent Посмотреть сообщение
объясните почему все против попова и его "г..вна"?
за этот только час, прочитав пару тем, все только об этом и пишут.
тока по нормальному, а не - "он просто г..внокодер";
Мне вот тоже интересно почему именно так всё плохо? Уже второй раз на форуме видел что про попова уроки прям куда деваться плохо всё. Ведь его циклы работают ведь! Тогда почему это всё так запущено? Соглашусь с "stupidstudent", что объясните почему и тогда что посоветуете?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.07.2012, 15:36

Не по теме:

имхо, не стоит здесь разводить полемику и холливар на сто страниц. если вас это так сильно интересует - создайте отдельную тему и, я думаю, вам в ней с удовольствием ответят и объяснят что и почему



Добавлено через 1 минуту
1
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
29.07.2012, 16:32
Отвечу лишь про циклы.
Господин, так сказать, Попов, использует в своих кодах цикл с пост-условием, который, да, работает, но он оказался не в том месте и не тогда, когда нужно, поскольку, пока, например, записи при выборке из базы есть, всё замечательно, но что будет, если не окажется записей, удовлетворяющих запросу по каким-либо причинам? "Поповский" цикл отработает, ибо он проверяет после итерации, ничего не увидит, иии?.. Плюс ко всему для такого цикла нужно два раза создавать один и тот же дескриптор запроса (одинаковый). Это лишь часть... Как верно заметил KOPOJI, не будем здесь разводить Holy War.

Добавлено через 1 минуту
Цитата Сообщение от Dimka1judo Посмотреть сообщение
и тогда что посоветуете?
что я и многие советуют, а вернее как написать код, можешь посмотреть в моем посте выше, пожалуйста. Просто люди учатся по-поповски кодить, а переучиться потом очень и очень трудно. С одной стороны их понимаешь, а с другой их жаль.

Добавлено через 2 минуты
Посты #7 и #13
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.07.2012, 16:32
Помогаю со студенческими работами здесь

Таблица рекордов
Помогите сделать таблицу рекордов для игры. В таблице должно быть 2 поля: имя и рекорд. имя нужно передавать и 1 формы в 4,а рекорды из 2 и...

Таблица рекордов
Добрый день! Помогите пожалуйста разобраться с этим вопросом, впервые создаю игру, поэтому совсем не знаю тонкостей создания. Как можно...

Таблица рекордов
Три спортсмена бежали дистанцию, каждый пробежал за определенное время. Выведите таблицу рекордов, упорядочив участников от самого быстрого...

Таблица рекордов из 5 человек
Помогите пожалуйста сделать таблицу рекордов из 5 человек, нужно создать файл, после нужно вывести туда имя снизу рекорд и так пять...

Таймер и таблица рекордов
есть игра угадай слово, не могу понять как сделать таймер к игре, то есть допустим 2 минуты на решение одного уровня, там есть три попытки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru