Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MYSQL] Wyświetlanie pogrupowanych wartości rekordów, galeria zdjęć
Kostek.88
post
Post #1





Grupa: Zarejestrowani
Postów: 376
Pomógł: 47
Dołączył: 23.08.2007
Skąd: Warszawa

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


Witam,
chciałem zrobić galerię zdjęć.

Mam taką oto tabelę w bazie danych:
Kod
+----+--------------+----------------+---------------+----------+-----------+----------+----------+
| id | name         | podpis_pl      | podpis_en     | grupa_pl | grupa_en  | grupa_id | position |
+----+--------------+----------------+---------------+----------+-----------+----------+----------+
|  1 | zdjecie1.jpg | ?adne zdj?cie  | Pretty photo  | grupa 1  | group 1   |        1 |        1 |
|  2 | zdjecie2.jpg | ?adne zdj?cie2 | Pretty photo2 | grupa 1  | group 1   |        1 |        2 |
|  3 | zdjecie3.jpg | Zdj?cie 3      | Zdj?cie 3_en  | aaaaaa   | aaaaaa_en |        2 |        1 |
|  4 | zdjecie3.jpg | zdjecie3.jpg   | Zdj?cie 3_en  | aaaaaa   | aaaaaa_en |        2 |        2 |
+----+--------------+----------------+---------------+----------+-----------+----------+----------+

podpis_pl i podpis_en - to podpis do zdjęcia, które będzie wyświetlane. (po polsku i angielsku)
grupa_pl i grupa_en - nazwa grupy, w której będzie zdjęcie (po polsku i angielsku)
grupa_id - to id tej grupy, w której będzie zdjęcie (bo grupa będzie rozpoznawana po id)
position - będzie układać zdjęcia w odpowiedniej kolejności.

I teraz tak: galeria będzie podzielona na różne grupy, w której będą osobne zdjęcia.
W powyższym przykładzie zdjęcie o id=1 i id=2 będzie w jednej grupie, a dwa pozostałe w drugiej (spójrzcie na pole grupa_id)

Moje pytanie brzmi: jak sformułować zapytanie, by to się tak ułożyło? 2 pętle while zagnieżdżone w sobie nie kolejkują tego... moglibyście mnie jakoś naprowadzić? Będę wdzięczny za pomoc.

Ten post edytował Kaloryfer 8.05.2008, 10:57:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kostek.88
post
Post #2





Grupa: Zarejestrowani
Postów: 376
Pomógł: 47
Dołączył: 23.08.2007
Skąd: Warszawa

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


Ale nie moge sztywno określać numerów id, muszą one być automatycznie pobierane z bazy, zatem Twoją pętelkę trzeba objąć kolejną, i właśnie tutaj nie wiem jakie zapytanie zrobić

Kod
mysql_query('SELECT * FROM GALERIA ASC WHERE=    ?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (nie wiem co)  ORDER BY position ');



EDIT:
Już wiem jak to zrobic:

  1. <?php
  2. while($grupa=mysql_fetch_array($grupa_query)) {
  3. echo '<p class="naglowek">nazwa_grupy</p>';
  4. $id=$grupa['grupa_id'];
  5. $zdjecie_query=mysql_query('SELECT * FROM GALERIA WHERE grupa_id='.$id);
  6. while($zdjecie=mysql_fetch_array($zdjecie_query)) {
  7. zdj&#281;cia
  8. }
  9.  }
  10. ?>


napisałem to schematycznie, więc nie zwracajcie uwagi na błędy, że nie ma echo itd.

Dzięki za pomoc

Ten post edytował Kaloryfer 9.05.2008, 11:38:58
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 16:56