Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Tworzenie Listy Miesięcy względem wydarzeń
XP'ek
post
Post #1





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Witam mam taki kod getem przesyłam rok np. 2010 odczytuje go wczytuje ID i podaje je do drugiej bazy, bazy wydarzeń i teraz chce osiągnąć efekt następujący biggrin.gif w bazie mam wpisy np. na rok 2010 i miesiąc luty i 3 na kwiecień i teraz efektem zapytania ma pojawić mi się na stronie link do miesięcy w których są wpisy czyli np. w tym przypadku Luty i Kwiecień się pojawi reszta miesięcy nie. Co źle zrobiłem z kodem ? i jak osiągnąć ten efekt?


  1. $zapytanie12="SELECT * FROM `year` WHERE `year`='$year1' LIMIT 1";
  2. $wykonaj12=mysql_query($zapytanie12);
  3.  
  4. if($wiersz2=mysql_fetch_array($wykonaj12))
  5. {
  6. $year = $wiersz2['id'];
  7. }
  8.  
  9. $zapytanie12="SELECT * FROM `event` WHERE `year`='$year'";
  10. $wykonaj12=mysql_query($zapytanie12);
  11.  
  12. while($wiersz2=mysql_fetch_array($wykonaj12))
  13. {
  14. $month = $wiersz2['month'];
  15. }
  16.  
  17. switch($month){
  18. case 1:
  19. print 'Styczeń';
  20. break;
  21. case 2:
  22. print 'Luty';
  23. break;
  24. case 3:
  25. print 'Marzec';
  26. break;
  27. case 4:
  28. print 'Kwiecień';
  29. break;
  30. case 5:
  31. print 'Maj';
  32. break;
  33. default:
  34. print 'W tym roku nie było jeszcze wydarzeń.';
  35. break;
  36. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Cytat(XP'ek @ 23.12.2010, 17:18:49 ) *
Witam mam taki kod getem przesyłam rok np. 2010 odczytuje go wczytuje ID i podaje je do drugiej bazy, bazy wydarzeń
z kodu wynika, ze do innej tabeli, a nie bazy.

  1. $zapytanie12="SELECT * FROM `year` JOIN event ON event.year = year.id WHERE `year.year`='$year1'";


Swoja droga rok sam w sobie jest identyfikatorem, wiec pole id zamiast 1,2,3... moze przechowywac rok, np 2009, 2010, 2011,..., wtedy bedzie duzo latwiej, bo nie trzeba bedzie uzywac join, tylko mozna bedzie zrobic to tak
  1. $zapytanie12="SELECT * FROM event WHERE year = 2010";


Ten post edytował lukaskolista 23.12.2010, 18:42:50
Go to the top of the page
+Quote Post
XP'ek
post
Post #3





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

Ostrzeżenie: (0%)
-----


no też tak można ale jak wyciągnąć ten miesiąc ? na dany rok z tabeli wydarzeń ?


bo nie chce mieć efektu
Rok 2010
Luty Luty Luty Marzec Maj Maj


tylko Rok 2010
Luty Marzec Maj

Ma ktoś pomysł w jaki sposób to wyciągnąć ?
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
efektem zapytania ma pojawić mi się na stronie link do miesięcy


w takim razie użyj GROUP BY month

  1. $zapytanie12="SELECT * FROM event WHERE year = 2010 GROUP BY month";


ponadto użycie switcha tutaj to słaby pomysł, lepiej nazwy miesięcy przechowywać w tablicy

  1. $month_names = array('', 'styczeń', 'luty', 'marzec');
  2.  
  3. echo $month_names[$month];
Go to the top of the page
+Quote Post
XP'ek
post
Post #5





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Dzięki o to mi właśnie chodziło biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:04