Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Pętla while i wyświetlanie tych samych wyników
Novy.
post 28.10.2011, 19:34:24
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

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


Mam taki kod:

  1. // wyswietla liste przedmiotow usera
  2. $items = mysql_query("SELECT * FROM inventory WHERE owner='".$_SESSION['id']."' AND (type='1' OR type='2' OR type='3')"); // wybierz wszystko z inv, gdzie wlasciciel = id zalogowanego i typ 1,2 lub 3
  3. while ($array = mysql_fetch_array($items)){
  4. $i++;
  5. echo "".$i.". ".$array['name']."<br>";
  6. }


Wszystko działa, wyświetla mi liste ktora wyglada tak:

1. Strzała
2. Strzała
3. Strzała
4. Mikstura PŻ
5. Mikstura PE
6. Mikstura PE


Czy dałoby się w pętli while zrobić takie coś, że zamiast wyświetlania tego samego w następnych linijkach obok nazwy w pierwszym niepowtarzającym się wyniku pisało np.: x3 ?
Efekt, który chciałbym otrzymać wyglądałby tak:

1. Strzała x3
2. Mikstura PŻ x1
3. Mikstura PE x2

wymyśliłem takie coś, ale nie wiem czy to jest dobre rozwiązanie jeśli da się to wykonać w pętli smile.gif

  1. $strzaly = mysql_num_rows(mysql_query("SELECT * FROM inventory WHERE owner='".$_SESSION['id']."' AND type='1'"));
  2. $health = mysql_num_rows(mysql_query("SELECT * FROM inventory WHERE owner='".$_SESSION['id']."' AND type='2'"));
  3. $mana = mysql_num_rows(mysql_query("SELECT * FROM inventory WHERE owner='".$_SESSION['id']."' AND type='3'"));
  4. if($strzaly > 0){
  5. echo "Strzała x".$strzaly."<br>";
  6. }
  7. if($health > 0){
  8. echo "Mikstura PŻ x".$health."<br>";
  9. }
  10. if($mana > 0){
  11. echo "Mikstura PE x".$mana."<br>";
  12. }


Ten kod działa tak jak chcę, ale gdybym dodał inne przedmioty do bazy o innym type to musiałbym dopisywać ciągle pewną część kodu, co chcę ominąć smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Novy.
post 28.10.2011, 20:19:04
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

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


mógłby mi ktoś pomóc? biggrin.gif

nie wiem czy to dobrze robię ;d

  1. mysql_query("SELECT count(name) FROM inventory WHERE owner='".$_SESSION['id']."' AND (type='1' OR type='2' OR type='3') GROUP BY type");


jeśli to zapytanie jest dobre, (w co wątpię, bo ciężko mi uczyć się kilku rzeczy na raz) to jak mam je wyświetlić, aby otrzymać taki efekt jak chce?

Ten post edytował Novy. 28.10.2011, 20:27:57
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 18:46