ďťż

[MySQL] SELECT i pole typu DATE dla tęgich głów w temacie :)

       

Podstrony


telcocafe

Witam
Żeby nie było nudno na forum ;) to rzucę zagadkę (sam jeszcze nie znam rozwiązania ale jak na nie wpadnę to je tu z pewnością przytoczę)

Sytuacja wygląda tak:
Mamy tabelę np. mistrzostwa, w której są dwa pola typu DATE - termin_od i termin_do, jest też trzecie pole - cykliczność (INT).

Chcę wybrać wszystkie mistrzostwa, które będą się odbywały w przeciągu najbliższych 8 lat. Założenie jest takie, że dane mistrzostwa wprowadzam tylko raz i określam ich cykliczność poprzez podanie liczby (np. co 2 lata). Potem chcę wyświetlić w rozbiciu na lata dane, miałoby to wyglądać mniej więcej tak:

2008
- mistrzostwa europy w piłce nożnej (cykliczność=4)
- mistrzostwa świata w tenisie stołowym (cykliczność=1)
- mistrzostwa świta w podnoszeniu ciężarów (c=2)

2009
- mistrzostwa świata w tenisie stołowym (cykliczność=1)

2010
- mistrzostwa świata w tenisie stołowym (cykliczność=1)
- mistrzostwa świta w podnoszeniu ciężarów (c=2)

2011
- mistrzostwa świata w tenisie stołowym (cykliczność=1)

2012
- mistrzostwa europy w piłce nożnej (cykliczność=4)
- mistrzostwa świata w tenisie stołowym (cykliczność=1)
- mistrzostwa świta w podnoszeniu ciężarów (c=2)

Jakie macie pomysły na rozwiązanie takiego zadania?
Użytkownik mikele edytował ten post 26 maj 2008, 21:12


hmmm... 81 odsłon i żadnego pomysłu.
To może ja zacznę.

piszę z palca więc nie czepiajcie się błędów, chcę tylko przedstawić istotę swojego pomysłu na rozwiązanie problemu, który przedstawiłem

$rok=date("Y"); $ile_lat_pokazac=2 for($x=0;$x<=$ile_lat_pokazac;$x++) { $wynik=zapytanie("SELECT * FROM mistrzostwa"); $rok_temp=$rok+$x; print "Mistrzostwa w roku ".$rok_temp."<br />; while($tmp=mysql_fetch_array($wynik)) { $year=//wyłuskujemy rok z $tmp["termin_od"]; if($year==$rok_temp || $rok_temp==$year+$tmp["cyklicznosc"] || $rok_temp==$year+($tmp["cyklicznosc"]*$x)) { //wyswietlamy nazwe imprezy } } }

czekam na inne pomysły =)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.