Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z wydobyciem roku z zapytania
Forum PHP.pl > Forum > Przedszkole
dopal
Witam,
W bazie mam tabelę sprzęt w której znajdują się pola jak w zapytaniu poniżej.
Jest tam pole data_ost, typ pola date, a więc mamy zapisaną datę w formacie YYYY-MM-DD.
Chciałbym wyciągnąć tylko sam rok, co zrobiłem robiąć zapis:
YEAR(data_ost) as ost_rok
Całość wygląda jak poniżej.
  1. <?php
  2.  
  3. $query="Select id, nazwa, producent, typ, nr_ser, nr_inw, pracownia, miasto, osoba, metoda, kontrola, czas_wal, data_ost, YEAR(data_ost) as ost_rok, data_nast, data_rzecz, sp_mier, status_dzis, blokada, zniszcz, zniszcz_dat, zniszcz_osoba From sprzet Where osoba='".$osoba."' AND zniszcz='Nie' AND status_dzis='0' AND blokada='Tak' ";
  4.  
  5. $result=mysql_query($query);
  6.  
  7. $obAmount=mysql_num_rows($result);
  8.  
  9. echo'Znaleziono: '.$obAmount.'<br /><br />';
  10.  
  11. for($x=0;$x<$obAmount;$x++)
  12. {
  13.  
  14. $row=mysql_fetch_assoc($result);
  15.  
  16. echo '<tr>
  17. <td align="center">'.($x+1).'</td>
  18. <td>'.$row['nazwa'].'</td>
  19. <td align="center">'.$row['nr_ser'].'</td>
  20. <td align="center">'.$row['data_ost'].'</td>
  21. <td align="center">'.$row['data_nast'].'</td>
  22. <td align="center">'.$row['data_rzecz'].'</td>
  23. <td align="center">'.$row['metoda'].'</font></td>
  24. <td align="center">'.$row['kontrola'].'</font></td>
  25. <td align="center">'.$row['ost_rok'].'</td></tr>';
  26. }
  27.  


Taka konstrukacja działa prawidłowo.
Problem pojawia się w sytuacji, gdy do WHERE chcę dodać dodatkowy warunek dotyczący konkretnego roku
  1. <?php
  2. $query="Select id, nazwa, producent, typ, nr_ser, nr_inw, pracownia, miasto, osoba, metoda, kontrola, czas_wal, data_ost, YEAR(data_ost) as ost_rok, data_nast, data_rzecz, sp_mier, status_dzis, blokada, zniszcz, zniszcz_dat, zniszcz_osoba From sprzet Where osoba='".$osoba."' AND zniszcz='Nie' AND status_dzis='0' AND blokada='Tak' AND ost_rok='2015'";
  3. ?>

Przy takiej konstrukcji otrzymuję komunikat:
mysql_num_rows()expects parametr 1 to be resource, boolean given in ... on line 115
czyli w lini
$obAmount=mysql_num_rows($result);
Jak to zrobić, by to działało, przy zastosowaniu warunku dotyczącego konkretnego roku?
nospor
Nie: ost_rok='2015'";
a: YEAR(data_ost)=2015
dopal
Dzięki smile.gif
Nie będę się wypowiadał na temat stanu mojej głowy...taki błąd sciana.gif
Temat do zamknięcia oczywiście.
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.