Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Zapytanie do mysql i instrukcja if
-Quonter-
post
Post #1





Goście







  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 ^^

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


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.
Go to the top of the page
+Quote Post
-Quonter-
post
Post #3





Goście







Wszystko śmiga (IMG:style_emoticons/default/smile.gif) Dzięki za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 16:56