Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie wyników z dwóch tabel
Forum PHP.pl > Forum > Przedszkole
kapitannemo
Witam mam taki problem posiadam 2 tabele

kategoria
id | nazwa | opis |


zdjecie
id | catid | url |

Chcę, aby wyświetlało mi w pętli zdjęcia pod tym nazwę kategorii itd


jak to najlepiej połączyć ze sobą? Join czy może poprostu porównać te 2 tabele id = catid?

no i w sumie większy problem dla mnie mianowicie zapętlam sobie wynik while'em niestety nie mam pojęcia jak wyciągnąć wszystkie zdjęcia do danej kategorii w jednym zapętleniu kolejne zapętlenie?

Proszę o jakąś rade pozdrawiam

nospor
Tu pisałem o grupowaniu wyników, czyli to o co ci chodzi:
http://nospor.pl/grupowanie-wynikow.html
kapitannemo
dzięki smile.gif

a mam takie pytanie jeszcze chciałbym wybrać z tablicy pierwszy wynik i nadać mu inny styl w css a kolejne w pętli żeby były w innym
nospor
Pozwalam smile.gif
Fifi209
Używasz w css :first
kapitannemo
ok dzieki smile.gif ale wsumie bardziej chodzi mi o wybranie pierwszego wyniku z tablicy muszę wybrać pierwszy wynik

mam galerie i chce wybrać pierwsze zdjęcie z tablicy które będzie głównym zdjęciem następnie pętla z pozostałymi zdjęciami pomijając pierwsze smile.gif
nospor
No to przecież masz dane w tablicy. Stworz więc zmienna $i, którą w petli zwiekszaj o jeden. Jesli $i == 1 znaczy ze masz pierwszy element. No ciutka myslenia naprawdę w życiu pomaga wink.gif
kapitannemo
możesz mi to wyłożyć łopatologicznie? smile.gif

na twoim przykładzie

  1. $categories = array();
  2. while ($row = mysql_fetch_array($res)){
  3. $cid = $row['CID'];
  4.  
  5. //jeśli nie było jeszcze danej kategorii, to ją tworzymy
  6. if (!isset($categories[$cid]))
  7. $categories[$cid] = array('name' => $row['CNAME'], 'products' => array());
  8.  
  9. //dodajemy do kategorii kolejne produkty
  10. if (!empty($row['PNAME'])) //jeśli istnieje produkt
  11. $categories[$cid]['products'][] = array('name' => $row['PNAME'], 'id'=>$row['PID']);
  12. }


dwie funkcje foreach stosujesz gdzie pierw pokazuje kat pozniej produkty

nie wiem zacialem sie z tym wyciagnieciem pierwszego rekordu :/
nospor
Jesli po prostu chcesz zabrac z tablicy pierwszy element a iterować na pozostałych, to użyj poprostu
http://pl2.php.net/manual/pl/function.array-shift.php
i po sprawie
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.