Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]zwrocenie true lub false z bazy
gakusei
post 19.07.2007, 16:47:31
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 3
Dołączył: 17.07.2007

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


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..
Go to the top of the page
+Quote Post
DLM
post 19.07.2007, 17:28:50
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.08.2003
Skąd: Kraków

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


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
Go to the top of the page
+Quote Post
gakusei
post 19.07.2007, 17:39:34
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 3
Dołączył: 17.07.2007

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


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 :|
Go to the top of the page
+Quote Post
DLM
post 19.07.2007, 17:59:44
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.08.2003
Skąd: Kraków

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


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.
Go to the top of the page
+Quote Post
gakusei
post 19.07.2007, 23:39:41
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 3
Dołączył: 17.07.2007

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


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

Ten post edytował gakusei 19.07.2007, 18:22:56
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: 17.06.2025 - 22:10