Вывод Данных Из Базы Mysql

Тема в разделе "PHP программирование", создана пользователем BlackShadow, 12 июн 2013.

  1. BlackShadow

    BlackShadow Well-Known Member

    Регистрация:
    4 фев 2011
    Сообщения:
    111
    Симпатии:
    1
    Доброе утро, уважаемые программисты. У меня есть сайт с табличными данными покера (ну, увлекаемся с друзьями, интересно же знать кто сколько и когда). Так вот.
    Сейчас там используется файловая база данных. Сейчас объясню, что это такое.

    Когда я только только создал сайт, я столкнулся с проблемой добавления новых игроков в базе MySQL. Меня охватила паника - как это сделать??? Поэтому я сачконул и сделал так:
    1) Все имена игроков записываются в файлы по типу player[N].nm. Соответственно, в отдельном файле players.cou я храню общее количество игроков
    2) Все дни, в которые мы играли в покер, я храню в файлах day[M].day, в котором записана дата игры (2.06.2012, 4.07.2012 и т.д.). Соответственно, в отдельном файле days.cou я храню общее количество сыгранных нами дней.
    3) КОНЕЧНЫЙ РЕЗУЛЬТАТ (то есть, не то количество денег, которое он выиграл, а то, которое у него стало на данный момент) я записывал в файлы p[N]d[M].mon. Пример: человек начал только вот играть 1.01.01 и он проиграл 10 рублей, следовательно, в статистику на 1.01.01 будет записано -10. Он 2.02.02 проиграл 12 рублей, следовательно, в статистику на 2.02.02 у него будет записано НЕ -12, а -22! Вот о чем я говорю.

    Так вот. В чем моя проблема. Мне надоело всё дело хранить в файлах, потому что надоело качать по 700 файлов результатов. + долго страница загружается (на странице 2 цикла: 1 цикл формирует шапку, второй - двойной. наружный for для дней, внутренний - для игроков (формирование файла p[N]d[M].mon)).

    Я создал базу и в ней 3 таблицы:
    Таблица №1 [Имена игроков]: {ID | Имя игрока} - id | player
    Таблица №2 [Даты]: {ID | Дата} - id | day
    Таблица №3 (самая важная) [Игры]: {ID | ID игрока | ID дня | Результат} - id | player_id | day_id | result

    Примерная структура третьей таблицы:
    Так вот. Я никак не могу подобрать запрос (или ряд запросов) MySQL, чтобы вывести все данные таблицы, как это сейчас выведено на сайте http://pokerstat.hol.es. Ну, цвета не обязательно, НО главное, чтобы было выведено так, как сейчас выглядит главная страница сайта. Очень прошу кого-нибудь помочь с запросами.

    P.S. Кому лень переходить на сайт - вот скриншот таблицы:
    Безымянный.png

    P.P.S. Но если хотите - можете посмотреть на сайте на интересную диаграмму :rolleyes: Она внизу таблицы ^_^

    Заранее, огромное спасибо!
     
  2. ashby

    ashby New Member

    Регистрация:
    19 июн 2013
    Сообщения:
    4
    Симпатии:
    0
    Для вывода такой таблицы вовсе не нужно знать данные о каждой операции, достаточно сохранять текущий для каждый даты счет игрока.
    По крайней мере эти данные точно не понадобятся для отображения таблицы (иначе придется для каждой даты делать свой собственный запрос со своим подсчетом).
    Далее можно вывести одним запросом первую строчку с именами игроков, отсортировав их по ID.
    Таким образом, если сгруппировав по датам историю счетов и отсортировав по возрастанию даты и ID игроков (именно в этом порядке), то каждые следующие N+1 (N - количество всех игроков) записей нужно будет просто вывести в одном <tr>.
     
Загрузка...

Поделиться этой страницей