Построение футбольного календаря

fanom

Новичок
Построение футбольного календаря

Помогите с решением задачи.
Задача:
Есть таблица, в ней 4 футбольные команды, с такими id 1,2,3,4
Каждая команда должна сыграть с каждой по 2 раза, дома и в гостях, и на основе этого построить календарь игр, выглядить должно так
1тур
1 - 2
3 - 4

2 тур
2 - 1
4 - 3

3 тур
1 - 3
2 - 4

4 тур
3 - 1
4 - 2

5тур
2 - 3
1 - 4

6 тур
3 - 2
4 - 1

Пример показан на 4х командах, на самом деле их 20
Повторяться игры не должны
 

fanom

Новичок
я даже незнаю что именно написать в поиске...

мои соображения, вытащить эти айди, и потом функцией все раставить в массив, но как....
 

x-yuri

Новичок
я даже незнаю что именно написать в поиске...
похоже "хорошая книга по php" (или mysql)

мои соображения, вытащить эти айди, и потом функцией все раставить в массив, но как....
у тебя только одна таблица? Или тебе еще с этим определиться надо?
 

Krishna

Продался Java
и потом функцией все раставить в массив, но как....
Ну сам то в примере сумел расставить как-то?

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

fanom

Новичок
не одна, есть ещё таблица игры, оттуда надо будет вставлять результаты игры, но это потом, я пока на построение календаря застрял, здесть кроме как советовать искать в гугле и читать книги могут дать совет по делу? если вам кажется это очень простой задачей, ну поделитесь мыслями, вам трудно? зачем вообще форум нужен?

вот что придумал я
таблица calendar
home_id, away_id, tour_id, user_id,
tour_id это айди турнира а не тура.

Дальше я вытаскиваю id команд
Код:
SELECT home_id FROM ae_calendar WHERE  tour_id=".(int)$_GET['id']
получаю массив такого вида
Код:
Array
(
    [0] => Array
        (
            [0] => 13
            [home_id] => 13
        )

    [1] => Array
        (
            [0] => 16
            [home_id] => 16
        )

    [2] => Array
        (
            [0] => 12
            [home_id] => 12
        )
...... и тд..
а что дальше делать я незнаю :(

2 Krishna, ну еслиб я мог, я не спрашивал
 

x-yuri

Новичок
а где у тебя информация о турах хранится?
И как ты вообще планируешь все это провернуть: сначала вывести названия туров, а потом к ним довставлять результаты?
 

fanom

Новичок
а где у тебя информация о турах хранится?
тут только математика, я высчитал что если 20 команд то получается 38 туров 19*2 = 38
мне не надо названия туров, просто цифры 1 тур..2тур..

про результаты, думаю как то надо вставть сюда id каждой игры, и потом просто сделать запрос в игры, сделать массив и выводить по games_id
или при выводе календаря делать кучу запросов в таблу `игры` вытаскивать счёт игры по айди командам. но сервак думаю умрёт, ибо игр получается 380 чтоли... а 380 запросов это перебор

2 Krishna, раставить это одно, а как это в коде записать, у меня с математикой большие проблемы, а тут ей пахнет
 

Kib

Новичок
Автор оригинала: fanom
здесть кроме как советовать искать в гугле и читать книги могут дать совет по делу?
еще можно поиск по форуму сделать
http://phpclub.ru/talk/showthread.php?s=&threadid=109275&perpage=20&highlight=%EA%E0%EB%E5%ED%E4%E0%F0%FC&pagenumber=1
Хотя в этой теме результата нет, но можно прочитать, может что нить и пригодиться.
 

fanom

Новичок
Всё, решил задачу, выиграла моя любимая команда и от радости включился мозг, если кому интересно ...напишу решение
 

Krishna

Продался Java
2 Krishna, раставить это одно, а как это в коде записать, у меня с математикой большие проблемы, а тут ей пахнет
Нет, не пахнет ни разу. Если не пахло математикой, когда сам расставлял - не запахнет и когда будешь тот же алгоритм, которым пользовался воплощать в код.
Это нужно осознать - практически все аалгоритмы, которые ты можешь сделать сам, ты можешь записать в код без каких-то высших знаний. Исключения только там, где требудются элементарные операции связанные с качественными, а не количественными оценками. То есть, не "если икс больше игрек", а "если эта фотка больше похожа на ту". И то, алгоритм по прежнему можно описать в коде, лишь набор элементарных операций потребуется другой, нежели имеющийся в языке. (нет готовых методов сравнения фоток на похожесть)
 
Сверху