Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z napisaniem zapytania
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam, mam bazę a w niej następujące dane:
data | ocena | przedmiot | uczeń

2014-03-21 | 4 | fizyka | Kowalski Jan
2014-10-05 | 5 | historia | Kowalski Jan

potrzebuję zrobić selecta na datach tak aby pokazywał rok szkolny.
IProSoft
I z czym masz problem, napisałeś cokolwiek?
krzesik
Cytat(IProSoft @ 3.04.2015, 13:46:30 ) *
I z czym masz problem, napisałeś cokolwiek?


Na początku musze sprawdzić dzisiajszą datę aby pokazać aktualne dane
  1. $dzisiaj_data = date('Y-m-d');
  2. $dzisiaj_rok = date('Y');
  3. if($dzisiaj_data >= $dzisiaj_rok.'-09-01')
  4. {
  5. $rokod = $dzisiaj_rok;
  6. $rokdo = $dzisiaj_rok+1;
  7. $sezon = $rokod.'/'.$rokdo;
  8. }
  9.  
  10. if($dzisiaj_data < $dzisiaj_rok.'-09-01')
  11. {
  12. $rokod = $dzisiaj_rok-1;
  13. $rokdo = $dzisiaj_rok;
  14. $sezon = $rokod.'/'.$rokdo;
  15. }

Później powinienem sprawdzić z jakich lat są zapisy w bazie:
  1. $sprdat = mysql_query("SELECT distinct DATE_FORMAT(data, '%Y') as rok from oceny");

i tou sią zagmatwałem.....
IProSoft
W pierwszym poście pisałeś, że potrzebujesz zapytania, opisz dokładnie co ma robić, lub czego potrzebujesz ?
krzesik
Mam w bazie następujące dane:

data | ocena | przedmiot | uczeń

2014-03-21 | 4 | fizyka | Kowalski Jan
2014-10-05 | 5 | historia | Kowalski Jan

muszę filtrować dane poprzez selecta (listę rozwijalną - w której są lata szkolne np 2014/2015, 2015/2016, generowaną na podstawie danych w bazie)
Aqu
Coś takiego:
  1. SELECT * FROM db WHERE UNIX_TIMESTAMP(STR_TO_DATE(`data`, '%Y-%m-%d')) > poczatek_roku_w_unixtime AND UNIX_TIMESTAMP(STR_TO_DATE(`data`, '%Y-%m-%d')) < koniec_roku_w_unixtime


chociaż wygodniej byłoby od razu trzymać datę w unixtime
krzesik
Bardziej chodziło mi o coś takiego:
  1. SELECT *,
  2. IF(MONTH(`date`)>9,CONCAT_WS('/', YEAR(`date`), YEAR(`date`)+1),CONCAT_WS('/', YEAR(`date`)-1, YEAR(`date`))) AS `sezon`
  3. FROM `oceny`;

ale to też nie jest do końca to ponieważ, doklejam kolumnę z przełomami lat (a wychodzą mi cyrki).... ;(

Wie ktoś może dlaczego w "doklejanej" kolumnie wychodzą mi dziwne wartości?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.