Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Zapytanie do mysql i instrukcja if
Forum PHP.pl > Forum > Przedszkole
Quonter
  1. $query=mysql_query("SELECT * FROM quest WHERE owner='".$_SESSION['id']."'"); // wybierz wszystko z tabeli quest gdzie wlasciciel to id zalogowanego
  2. $quest=mysql_fetch_assoc($query); // do tablicy
  3.  
  4. if($quest['qid'] == '1' && $quest['status'] == '1'){
  5. echo "Quest 1 - wykonany";
  6. }
  7. elseif ($quest['qid'] == '1' && $quest['status'] == '0'){
  8. echo "Quest 1 - <a href=\"quest.php?czytaj=1\">przeczytaj treść</a>";
  9. }
  10. if($quest['qid'] == '2' && $quest['status'] == '1'){
  11. echo "Quest 2 - wykonany";
  12. }
  13. elseif ($quest['qid'] == '2' && $quest['status'] == '0'){
  14. echo "Quest 2 - <a href=\"quest.php?czytaj=2\">przeczytaj treść</a>";
  15. }
  16.  


Tabela w bazie wygląda tak:


Kod
owner int(11)
qid int(11)
status int(11)


Wyświetla się tylko Quest 1 - wykonany/Quest1 - przeczytaj treść.

A potem nic, tak jakby warunek się nie spełniał, chociaż w tabeli byl wiesz z qid = 2, statusem = 0 i owner = id gracza

Pewnie cos popsulem :/

Help ^^

mortus
Skrypt działa tak, jak powinien. Funkcją mysql_fetch_assoc() odczytujesz dokładnie jeden wiersz ze zbioru wyników zapytania. Aby odczytać wszystkie wiersze musisz tej funkcji użyć w pętli:
  1. while($quest = mysql_fetch_assoc($query)) {
  2. if($quest['status'] == '1') echo 'Quest '.$quest['qid'].' - wykonany';
  3. else echo 'Quest '.$quest['qid'].' - <a href="quest.php?czytaj='.$quest['qid'].'">przeczytaj treść</a>';
  4. }

Poza tym, jak widać, nie trzeba stosować tych dziwnych warunków, ponieważ zmienna $quest to zawsze jeden i ten właściwy rekord z tabeli bazy danych.
Quonter
Wszystko śmiga smile.gif Dzięki za pomoc.
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.