Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Nie działający Select
Forum PHP.pl > Forum > Przedszkole
grzes999
Witam
Męczę się już jakiś czas z tym problem i nic mi nie wychodzi.
Otóż załóżmy, że mam taką tabelę



I chcę pobrać id_rozkladu określonej godziny w formularzu.Godzina jest zapisana w tabeli jak char.
Mój fragment kodu z zapytaniem
  1. $zapytanie=mysql_query("Select id_rozkladu from rozklad where godzina='\"$czas\"'");
  2. $wynik=mysql_fetch_array($zapytanie);
  3. $ile=mysql_num_rows($zapytanie);


Do testów zrobiłem tylko zliczanie tych pól; ale niestety cały czas jest 0.
Próbowałem już like ale też nie pomogło.
Połączenie z baza mam na pewno tak, że to można pominąć.
Dodam jeszcze, że to samo zapytanie z wstawioną godziną w panelu phpmyadmin działa.
jacusek
  1. "Select id_rozkladu from rozklad where godzina=\"$czas\""

to powinno pomóc. Masz błąd w składni- apostrof za dużo na końcu pytania.
Zawsze możesz spróbować to sprawdzić sprawdzające jakie pytanie przesyłane jest do bazy - wystarczy wpisać echo $zapytanie
grzes999
To nie to, a co do apostrofu to jak kopiowałem kod to nie skopiowałem apostrofa na początku.I niby zapytanie przesyła się dobre; ale niestety nic nie wybiera z tabeli.
jacusek
  1. $ile=mysql_num_rows($wynik);

a może tak?
Janusz1200
Wydaje się, że być może kolumnę z godziną masz szerszą niż 5 i są tam spacje, w zapytaniu ich nie masz.
kudlatypawelek
'SELECT id_rozkladu FROM rozklad WHERE godzina LIKE "%'.$czas.'%"', ale za piękne to nie jest.
DiH
@grzes999 A zrobiłeś chociaż echo tego $zapytanie? Stworzyłem sobie identyczną tabelkę jak Twoja, dodałem rekord z polem czas ustawionym na 23:58 i poniższy kod działa:
  1. $czas = "23:58";
  2. $sql = "SELECT * FROM tab WHERE czas = '" .$czas. "'";
  3. $query = mysql_query($sql);
grzes999
Sprawdzałem i zapytanie niby było dobre i faktycznie jeżeli robię to na oddzielnym dokumencie to to dział.Jednak to jest tylko mały fragment większej aplikacji, W której godzina przesyłana jest za pomocą zmiennej sesyjnej.I właśnie z nią jest coś nie tak niby jest dobrze przesłana a nie daje mi oczekiwanego rezultatu.

Dziękuję wszystkim za pomoc.Miałem w zmiennej jakieś białe znaki i usuwałem je nie w tym miejscu co trzeba. Tylko teraz wynik zapytania wyświetla mi się dwa razy.

  1. $zapytanie="Select rozklad.id_rozkladu from trasy,rozklad where trasy.z='$z1' and trasy.cel='$do' and trasy.id_trasy = rozklad.id_trasy and godzina='" .$time. "'";
  2. $wynik=mysql_query($zapytanie);
  3. $wynik=mysql_fetch_array($wynik);
  4. foreach($wynik as $id_trasy)
  5. echo $id_trasy;


Co tym razem może być nie tak??

[edit]
Dobra już po problemie temat można zamknąć.
Dla ciekawskich dopisałem break`a i wszystko jest tak jak trzeba.
Dziękuję wszystkim za pomoc wink.gif
DiH
Zamień mysql_fetch_array na mysql_fetch_assoc i break nie powinien być potrzebny.
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.