Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Funkcja if!+else
Forum PHP.pl > Forum > Przedszkole
klavius
Witam,
Otóż robię sobie stronkę z Panelem logowania etc, i mam mały problem.

Mam tabele (data/login/kod/akcja/saldo);

Chcę zrobić tak : Jeżeli w bazie danych w tabeli o nazwie 'history' będzie jaki kol wiek wpis gdzie w rekordzie login="?" to wyświetli rekord istnieje a jeśli nie to rekord nie istnieje.

  1.  
  2. while ($wywolaj = mysql_fetch_assoc($oki)) {
  3.  
  4. if (mysql_num_rows($oki) <> 0)
  5. echo 'rekord istnieje'.$wywolaj['data'].'';
  6. else
  7. echo 'rekord nieistnieje'.$wywolaj[login].'';
  8.  
  9.  
  10. }


napisałem coś takiego, lecz jeśli jest wpis to wyświetla się napis rekord istnieje , jeśli nie ma to nie pisze nic a powinno ..

proszę o pomoc;)

@Down
Thx; p
sadistic_son
  1. $q=mysql_query("SELECT * FROM `history` WHERE `login`='$login'");
  2. $num=mysql_num_rows($q);
  3. if($num>0){
  4. echo 'rekord istnieje';
  5. }else{
  6. echo 'rekord nie istnieje';
  7. }


PS Do wklejania kodu używaj BBCode bo Ci mod temat zamknie.
klavius
No i mam taki kod:


  1. while ($wywolaj = mysql_fetch_assoc($oki)) {
  2.  
  3. if (mysql_num_rows($oki) <> 0)
  4. echo '
  5. <tr>
  6. <td>Data</td>
  7. <td>Kod</td>
  8. <td>Akcja</td>
  9. <td>Zmiana Salda</td>
  10. </tr>
  11.  
  12. <tr>
  13. <td> '.$wywolaj['data'].'</td>
  14. <td> '.$wywolaj['kod'].'</td>
  15. <td> '.$wywolaj['akcja'].'</td>
  16. <td> '.$wywolaj['saldo'].'</td>
  17. </tr>';
  18. else
  19. echo 'rekord nieistnieje';
  20.  
  21.  
  22. }


I co jest w nim źle? , Wiem ze jak usunę pętle to chodzi dobrze lecz wtedy nie wyświetlają się rekordy np" '.$wywolaj['kod'].'" , nie wiem o co chodzi;\

Może ktoś mi powiedzieć?
nospor
Jak wszedl do petli to znaczy ze rekord jest. W Twojej petli ELSE nigdy nie bedzie mial miejsca
Webmasterr
To co kolega @nospor powiedział, a poza tym...

Kolego!
Podstaw PHP!

Blok else, jeżeli jest wielolinijkowy potrzebuje ograniczników (!) w postaci { i }

A gotowca nie dam. Idź na kurs podstaw PHP.
sadistic_son
Kolego... a mój pierwszy post jest niewidzialny? Pozbądź się tego if/else z Twojego kodu, całą pętle while z Twojego post (bez if/else) przeklej do mojego if, w miejsce echo 'rekord istnieje'; i gotowe.
  1. $q=mysql_query("SELECT * FROM `history` WHERE `login`='$login'");
  2. $num=mysql_num_rows($q);
  3. if($num>0){
  4. echo ' <tr>
  5. <td>Data</td>
  6. <td>Kod</td>
  7. <td>Akcja</td>
  8. <td>Zmiana Salda</td>
  9. </tr>';
  10. while ($wywolaj = mysql_fetch_assoc($q)) {
  11.  
  12. <tr>
  13. <td> '.$wywolaj['data'].'</td>
  14. <td> '.$wywolaj['kod'].'</td>
  15. <td> '.$wywolaj['akcja'].'</td>
  16. <td> '.$wywolaj['saldo'].'</td>
  17. </tr>';
  18. }
  19. }else{
  20. echo 'rekord nie istnieje';
  21. }
Powyższy kod działa w następujący sposób: jeśli warunki zapytania $q są do spełnienia, czyli $num>0 wyświetl nagłowek tabeli (tylko raz), następnie wyświetlaj w pętli wszystkie rekordy spełniające zapytanie $q. Jeśli zapytanie $q nie zostanie spełnione czyli $num<0 to wyświetl 'brak rekordów'.
Webmasterr
Cytat(klavius @ 22.12.2010, 20:55:27 ) *
Panowie! ja nie chce gotowca.... , jestem początkujący i chce się czegoś nauczyć i dlatego tu jestem!
po prostu chciałbym prosić o wskazówki nic więcej.


Wiem... I masz całkowitą rację, ale...
Przeczytaj Kurs Podstaw PHP, wtedy trochę pomyśl i zadaj pytanie.
Nawiasem mówiąc sam tak miałem, jak byłem początkujący ;\
klavius
Heh, Dzięki /up za odpowiedzi;d tak naprawdę banalny błąd popełniłem;d a kod zrobiłem mniej więcej tak;p dopiero teraz
zauważyłem;p


  1. if (mysql_num_rows($oki) <> 0) {
  2. while ($wywolaj = mysql_fetch_assoc($oki)) {
  3. echo '
  4. <tr>
  5. <td>Data</td>
  6. <td>Kod</td>
  7. <td>Akcja</td>
  8. <td>Zmiana Salda</td>
  9. </tr>
  10.  
  11. <tr>
  12. <td> '.$wywolaj['data'].'</td>
  13. <td> '.$wywolaj['kod'].'</td>
  14. <td> '.$wywolaj['akcja'].'</td>
  15. <td> '.$wywolaj['saldo'].'</td>
  16. </tr>';
  17.  
  18. }
  19. }
  20. else
  21. {
  22. echo 'rekord nieistnieje';
  23. }
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.