Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]zwrocenie true lub false z bazy
Forum PHP.pl > Forum > Przedszkole
gakusei
mam taki problem: pisze sobie kod sprawdzający czy dana cyfra jest w polu img_id w mojej bazie danych. Jezeli jest to ma ją pokazać, jezeli nie to ma wyswietlic komunikat ze jej nie ma...
Tyle ze mam problem z
  1. <?php
  2. $checkimg = "SELECT image_id from img where image_id=7"; // np rysunek numer 7
  3. $Rcheckimg = mysql_query($checkimg) or die(mysql_error());
  4. while($row1 = mysql_fetch_array( $Rcheckimg ))
  5. {
  6. if(isset($row1['image_id'])) /// chodzi o tego if'a, co powinno tu byc aby stwierdzic ze 7 rzeczywiscie jest w bazie..
  7.  {
  8. echo $row1['image_id'];
  9.  }else
  10.  {
  11. echo "nie ma takiego numeru!";
  12.  }
  13. }
  14. ?>

kombinowalem z !empty() ale tez nie wychodzi mi to co chcialbym uzyskac..
DLM
Wszystko działa poprawnie, tylko występuje pewien błąd logiczny. Zmienna $row1['image_id'] zawsze będzie ustawiona, bo przechowuje pusty znak. Gdyby przechowywała NULL-a wtedy by zadziałało. Zmień po prostu isset na == '' i powinno zadziałać smile.gif
gakusei
jezeli podaje numer ktorego rzeczywiscie nie ma to
  1. <?php
  2. if( $row1['image_id']!='' )  //////////// sprawdzam czy nie jest puste $row1['image_id']
  3.  {
  4. echo $row1['image_id'];
  5.  }else
  6.  {
  7. echo "nie ma takiego numeru!";
  8.  }
  9. ?>


jezeli podam numer ktory jest to rzeczywiscie dostane wypis co jest w row1 ..

tak czy inaczej do else nie chce przejsc :|
DLM
W takim razie możesz użyć funkcji mysql_num_rows(). Jeżeli nie będzie numerka w bazie zwróci 0, jeżeli będzie to 1 (liczbę otrzymanych wyników z zapytania). Na tej podstawie możesz napisać if-a.
gakusei
ehhh to jakas paranoja sad.gif
mysql_num_rows() rzeczywiscie zwraca mi wartosc 1 kiedy zapytanie zwraca mi ze jest dana liczba w bazie, gdy jej nie ma zwraca mi 0. Wszystko git gdyby nie to ze i tak pozniej wszystko i tak dziala jak chce :|
  1. <?php
  2. echo mysql_num_rows($Rcheckimg); // pokazanie tego co i tak pozniej nie tryka :|
  3. $jest = mysql_num_rows($Rcheckimg);
  4.  
  5. while($row1 = mysql_fetch_array( $Rcheckimg ))
  6. {
  7. if( $jest == 1)
  8.  {
  9. echo $row1['image_id'];
  10.  }elseif ($jest == 0)
  11.  {
  12. echo "nie ma takiego numeru!";
  13.  }else
  14.  {
  15. echo " 1/2 ? :| ";
  16.  }
  17. }
  18. ?>


hilfe!

ok dzieki DLM za pomoc, nawet nie mowie jak glupi blad robilem bo tylko wstyd tongue.gif
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.