Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z wydobyciem roku z zapytania
dopal
post 29.04.2015, 08:24:49
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

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


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?
Go to the top of the page
+Quote Post
nospor
post 29.04.2015, 08:26:55
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie: ost_rok='2015'";
a: YEAR(data_ost)=2015


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dopal
post 29.04.2015, 08:31:08
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

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


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.
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 Wersja Lo-Fi Aktualny czas: 13.07.2025 - 23:10