Temat posta nie wiele mówi, w związku z czym już tłumaczę.. bo dotyczy to zarówno baz danych oraz php (a dokładnie wyświetlenia danych w odpowiedniej formie..)
Po użyciu zapytania otrzymuje z kilku tabel następujący wynik:
Zapytanie wygląda tak:
SELECT p.firstname
,p.lastname
,t.tournament_name
,c.competition_name
,ctr.total_value
,s.partial_value
FROM persons p
INNER JOIN participants pp
ON p.person_id = pp.person_id
INNER JOIN ct_result_2013 ctr
ON pp.participant_id = ctr.participant_id
INNER JOIN competition_tournament ct
ON ctr.ct_id = ct.ct_id
INNER JOIN tournaments t
ON ct.tournament_id = t.tournament_id
INNER JOIN competitions c
ON ct.competition_id = c.competition_id
INNER JOIN shots_2013 s
ON ctr.ct_result_id = s.ct_result_id
WHERE c.competition_name LIKE 'karabinek'
AND t.tournament_name LIKE 'Dla zakochanych'
ORDER BY p.firstname, p.lastname;
..po krótce: są to wyniki z danych zawodów oraz konkurencji strzeleckich. Z racji tego, że każdy strzał oraz wynik końcowy ma odwzorowanie w bazie wyniki z zapytania są takie jak na załączonym screenie.
Teraz dla takiego zapytania chciałbym na stronie internetowej (przy użyciu php) wygenerować tabele, która każdy pojedyńczy strzał ma tak jakby w osobnej kolumnie tzn.
Imie | Nazwisko | Zawody | Konkurencja | Wynik_końcowy | 1 strzał | 2 strzał | 3 strzał | ...
I teraz pytanie / problem: jak taki efekt uzyskać ?
Czy przerabiać to na poziomie php (tylko jak? np. po załadowaniu do tabeli i operowaniu "jakoś" na tych danych aby uzyskać wynik końcowy?); czy może można to już robić jakoś na poziomie bazy danych (mysql) ?
Jeśli chodzi o php, to problem jaki mi się "maluje" to w jaki sposób mógłbym sprawnie manipulować tymi danymi, bo trzeba jakoś sprawdzać kiedy ma być tworzony kolejny wiersz - dla nowej osoby oraz co zrobić jakby się chciało pokazać wyniki wszystkich osób ze wszystkich konkurencji dla danych zawodów.. Wtedy liczba "częściowych" wyników (z każdego strzału) byłaby różna bo dla róznych konkurencji jest różna liczba prób..
Uff.. to chyba wszystko.. mam nadzieje, że możliwie zrozumiale przedstawiłem problem i będziecie mogli mi coś doradzić.. bo być może jest jakiś prosty sposób aby sobie z tym poradzić..