Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dane z bazy nie działa warunek
Forum PHP.pl > Forum > Przedszkole
brzanek
Witam mam kod
  1. $result = mysql_query("SELECT * FROM `fusionEd1e5_ostrzezenia` WHERE CURDATE() BETWEEN CONCAT(`ost_startdzien`) AND CONCAT(`ost_startdzien`) ORDER BY `ost_id` DESC LIMIT 1") or die(mysql_error());
  2. if ($result) {
  3. while($row = mysql_fetch_array($result)) {
  4. echo "<h4><a href='ostrzezeniem.php?ost_id=".$row['ost_id']."'>".$row['ost_name']."</a></h4>";
  5. echo "<img src='images/".$row['ost_image']."' class='img-responsive' alt=''>";
  6. }
  7. }
  8. else // Warunek niespełniony
  9. {
  10. echo "<h5>".$tmp['date']." - Na ten dzień nie przewiduje się groźnych zjawisk</h5>";
  11. echo "<img src='images/brak.png' class='img-responsive' alt=''>";
  12. }

Jeśli dane pobierane z bazy danych są to wszystko ładnie się wyświetla ale jeśli ich nie ma to nic się nie pojawia a powinno to
  1. else // Warunek niespełniony
  2. {
  3. echo "<h5>".$tmp['date']." - Na ten dzień nie przewiduje się groźnych zjawisk</h5>";
  4. echo "<img src='images/brak.png' class='img-responsive' alt=''>";
  5. }
viking
Sprawdzasz jakiś błąd zapytania a nie ilość pobranych rekordów.
trueblue
CONCAT czego z czym? I dlaczego w obydwu przypadkach ost_startdzien?
brzanek
Może źle się wyraziłem. Zapytanie działa jak najbardziej ale chodzi mi o to żeby wyświetlić to
  1. {
  2. echo "<h5>".$tmp['date']." - Na ten dzień nie przewiduje się groźnych zjawisk</h5>";
  3. echo "<img src='images/brak.png' class='img-responsive' alt=''>";
  4. }

jeśli w bazie danych nie zostanie odnalezione to zapytanie
  1. $result = mysql_query("SELECT * FROM `fusionEd1e5_ostrzezenia` WHERE CURDATE() BETWEEN CONCAT(`ost_startdzien`) AND CONCAT(`ost_startdzien`) ORDER BY `ost_id` DESC LIMIT 1") or die(mysql_error());

To jest zapytanie co szuka w bazie danych ostrzeżenie na dzisiaj jeśli nic nie ma to ma pojawić się to co wyżej.
viking
Napisałem co masz zrobić. Czytasz odpowiedzi czy tylko wyrywkowo?
nospor
Juz ci viking napisal...
Teraz o ten warunek
if ($result) {
sprawdza czy zapytanie sie powiodlo czy nie. Ono nie sprawdza, czy zapytanie zwrocilo jakies rekordy czy nie. Zapytanie moze nie zwrocic zadnych rekordow ale nadal sie powiesc..

Ty masz wiec sprawdzac liczbe zwroconych rekordow
brzanek
Racja dzięki za pomoc.
  1. $result = mysql_query("SELECT * FROM fusionEd1e5_ostrzezenia WHERE CURDATE() BETWEEN CONCAT(ost_startdzien) AND CONCAT(ost_startdzien) ORDER BY ost_id DESC LIMIT 1") or die(mysql_error());
  2. if(mysql_num_rows($result) > 0) {
  3. while($row = mysql_fetch_array($result)) {
  4. echo "<h4><a href='ostrzezeniem.php?ost_id=".$row['ost_id']."'>".$row['ost_name']."</a></h4>";
  5. echo "<img src='images/".$row['ost_image']."' class='img-responsive' alt=''>";
  6. }
  7. }
  8. else // Warunek niespełniony
  9. {
  10. echo "<h5>".$tmp['date']." - Na ten dzień nie przewiduje się groźnych zjawisk</h5>";
  11. echo "<img src='images/brak.png' class='img-responsive' alt=''>";
  12. }
nospor
Popraw jeszcze to co napisal ci trueblue bo to jeden wielki bezsens teraz
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.