Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]sprawdzanie i porównywanie wartośći
MnicH.
post
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 4
Dołączył: 16.02.2007
Skąd: Leszno

Ostrzeżenie: (20%)
X----


Witam,
znowu ja. Mam problem. Napisany mam kodzik:
  1. <?php
  2.  
  3. mysql_connect("localhost", "root", "");
  4. mysql_select_db ("testy2");
  5.  
  6. $data = '13-01-2009';
  7. $data2 = '13-01-2009';
  8.  
  9. $zapytanie = "SELECT * FROM pokoje WHERE pokoj=1";
  10. $rezultat = mysql_query($zapytanie);
  11. $pok1 = mysql_fetch_array($rezultat);
  12.  
  13. $przyjazdy = $pok1['przyjazdy'];
  14. $wyjazdy = $pok1['wyjazdy'];
  15.  
  16. $room1a = explode("#", $przyjazdy);
  17. $room1b = explode("#", $wyjazdy);
  18.  
  19. for($i=0;$i<count($przyjazdy);$i++){
  20. if(($data >= $room1a[$i])){
  21. for($j=0;$j<count($wyjazdy);$j++){
  22. if(($data2 >= $room1b[$j])){
  23.  
  24.  
  25. for($ii=0;$ii<count($przyjazdy);$ii++){
  26. if(($data >= $room1b[$ii])){
  27. for($j=0;$jj<count($wyjazdy);$jj++){
  28. if(($data2 <= $room1a[$jj])){
  29. echo'Pokój wolny. <a href="#">Rezerwacja</a><br>';
  30. }else{ echo 'W tym terminie pokój zajęty4!<br>'; }
  31. }
  32. }else{ echo 'W tym terminie pokój zajęty3!<br>'; }
  33. }
  34.  
  35.  
  36.  
  37. }else{ echo 'W tym terminie pokój zajęty2!<br>'; }
  38. }
  39. }else{ echo 'W tym terminie pokój zajęty1!<br>'; }
  40. }
  41.  
  42. ?>


I do tego baza danych: http://wklej.to/XWI2

Skrypt ma za zadanie sprawdzić czy w bazie, w kolumnie dojazdy i wyjazdy nie ma dat które są w zmiennych $data i $data2.

Problem polega na tym że funkcja if nie przepuszcza wartości ze zmiennej $data = '13-01-2009'; mimo iż w bazie nie ma takiej wartości. Dalej skrypt miał sprawdzać czy daty nie nachodzą na siebie. Ale to też nie chce działać. Zwraca złe wartości.
Czyli w bazie są daty:
dojazdy: 11-01-2009 14-01-2009 20-01-2009
wyjazdy: 12-01-2009 16-01-2009 22-01-2009

Czyli data 13-01-2009 powinna być uznana że nie ma jej w bazie. Ale tak nie jest.
Tak samo jeśli data jest np: $data = 16-01-2009 a $data2 = 21-01-2009 ma rozpoznać że styka się z datą w bazie i zabronić dalszy dostęp.

Co tu jest źle?


--------------------
"This isn't Miami..., This isn't Music! This is power!!"
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 22:23