Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wyświetlanie galerii z podziałem na kategorie
THOR_JAN
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.02.2010

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


Witam
Posiadam taki kod, który wyświetla galerię

  1. <?php
  2. include('config.php');
  3. $i = 4;
  4. $zapyanie=mysql_query('SELECT * FROM galeria ORDER BY id DESC');
  5. while($row=mysql_fetch_array($zapyanie)){
  6. echo '<a rel="lightbox[galeria]" href="galeria/'.$row['zdjecie'].'" title="'.$row['opis'].'"><img src="galeria/miniatury/'.$row['zdjecie'].'" alt="'.$row['opis'].'"></a>';
  7. if($i % 3 == 0)
  8. echo '<br>';
  9. $i++;
  10. }
  11. ?>


w tabeli są kolumny: id, zdjecie, kategoria, opis.

moim problemem jest wyświetlenie w stylu:


KATEGORIA

zdjęcie | zdjęcie | zdjęcie
zdjęcie | zdjęcie | zdjęcie
zdjęcie | zdjęcie | zdjęcie
zdjęcie | zdjęcie | zdjęcie

-------------------------------------------------

KATEGORIA

zdjęcie | zdjęcie | zdjęcie
zdjęcie | zdjęcie | zdjęcie
zdjęcie | zdjęcie | zdjęcie
zdjęcie | zdjęcie | zdjęcie

-------------------------------------------------

<< poprzednia str | następna str >>

chodzi o to, żeby wyświetlały się zdjęcia, które między sobą mają taką samą nazwą kategorii w jednym bloku
a następnie jak już takie się skończą to znowu zdjęcia które między sobą mają taką samą nazwę kategorii i tak do wyczerpania zapasów.

i dochodzi kwestia stronicowania tego.
(chociaż z tym jeszcze nie próbowałem nic robić jest tego tyle nan forum że powinienem sobie poradzić
także ważniejsza kwestia to wyświetlanie zdjęć, ale będę wdzięczny za jakieś sugestie odnośnie stronicowania również)

Pozdrawiam

Ten post edytował THOR_JAN 22.02.2010, 21:50:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
THOR_JAN
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.02.2010

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


postaram sie wytlumaczyć jeszcze raz o co mi chodzi bo chyba sie nie bardzo potrafimy zrozumiec

mam kod
  1. <?php
  2. include('config.php');
  3.  
  4. // STRONICOWANIE - ile wyników na stronie
  5. define('ILOSC_WYNIKOW_NA_STRONIE', 3);
  6. // STRONICOWANIE - end
  7.  
  8. // STRONICOWANIE - Zapytanie liczące ilość wpisów w bazie
  9. $SQL = "SELECT COUNT(*) FROM galeria"; // Zapytanie liczące ilość wpisów w bazie
  10. $RES = mysql_query($SQL);
  11. list($iloscWpisow) = mysql_fetch_row($RES);
  12.  
  13. // STRONICOWANIE - end
  14.  
  15. $kategorie_sql = "SELECT DISTINCT kategoria FROM galeria ";
  16. $kategorie = mysql_query($kategorie_sql);
  17. while($kategorie_row = mysql_fetch_array($kategorie, MYSQL_ASSOC)){
  18. ?>
  19. <div class="category">
  20. <div class="category_name">
  21. <?php
  22. echo $kategorie_row["kategoria"];
  23. echo '<br>';
  24. ?>
  25. </div>
  26. <div class="category_photos">
  27. <?php
  28. echo '<table border="1" align="center" cellspacing="5">';
  29. echo '<tr>';
  30. $i = 4;
  31. $foty_sql = "SELECT * FROM galeria WHERE kategoria='" . $kategorie_row["kategoria"] . "';";
  32. $foty = mysql_query($foty_sql);
  33. while($foty_row = mysql_fetch_array($foty, MYSQL_ASSOC)) {
  34. echo '<td>';
  35. echo '<table >';
  36. echo '<tr>' ;
  37. echo '<td width="220" height="220" bgcolor="grey" >';
  38. echo '<a rel="lightbox[galeria]" href="galeria/'.$foty_row["zdjecie"].'" title="'.$foty_row["opis"].'"><img src="galeria/miniatury/'.$foty_row["zdjecie"].'" alt="'.$foty_row["opis"].'"></a>';
  39. echo '</td>';
  40. echo '</tr>';
  41. echo '<td width="220" height="50" valign="top">' ;
  42. echo $foty_row['opis'];
  43. echo '</td>';
  44. echo '</tr>';
  45. echo '</table>';
  46. echo '</td>';
  47. if($i % 3 == 0) {
  48. echo '</tr>';
  49. echo '<tr>';
  50. }
  51. $i++;
  52. }
  53. echo '</tr>';
  54. echo '</table>';
  55. ?>
  56. </div>
  57. </div>
  58. <?php
  59.  
  60. }
  61. // STRONICOWANIE - nawigacja
  62. //jesli nie jesteśmy na pierwszej stronie
  63. if($_GET['strona']>0){
  64. //wyswietlamy link do poprzedniej strony
  65. echo '<a href="?strona='.($_GET['strona']-1).'"> < </a> ';
  66.  
  67. }
  68.  
  69. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  70. echo '<a href="?strona='.($i).'">[ '.($i+1).' ]</a> ';
  71.  
  72. }
  73. //jeśli nie jesteśmy na ostatniej stronie
  74. if($_GET['strona']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
  75. //wyswietlamy link do nastepnej strony
  76. echo ' <a href="?strona='.($_GET['strona']+1).'"> > </a>';
  77.  
  78. }
  79. // STRONICOWANIE - end
  80.  
  81. ?>


Wcześniej przed stronicowaniem wyświetli się coś takiego:

== STRONA galeri ==

KATEGORIA "A"

zdjęcie 1 | zdjęcie 2| zdjęcie 3|
opis |opis |opis |

zdjęcie 4 | zdjęcie 5| zdjęcie 6|
opis |opis |opis |

-------------------------------------------------

KATEGORIA "B"

zdjęcie 7 | zdjęcie 8| zdjęcie 8|
opis |opis |opis |

zdjęcie 10| zdjęcie 11| zdjęcie 12|
opis |opis |opis |

-------------------------------------------------



nie wiem gdzie mam wstawic
  1. LIMIT


zeby uzyskac taki efekt: (powiedzmy ze chce 5 zdjec na strone i wyświetla się kategoria zdjęcia/zdjęć)

== STRONA galeri?page1 ==

KATEGORIA "A"

zdjęcie 1 | zdjęcie 2| zdjęcie 3|
opis |opis |opis |

zdjęcie 4 | zdjęcie 5|
opis |opis |

następna str >>

== STRONA galeri?page2 ==


KATEGORIA "A"

zdjęcie 6 |
opis |
-------------------------------------------------

KATEGORIA "B"

zdjęcie 7 | zdjęcie 8| zdjęcie 8|
opis |opis |opis |

zdjęcie 10|
opis |

<< poprzednia str | następna str >>

== STRONA galeri?page3 ==

KATEGORIA "B"

zdjęcie 11| zdjęcie 12|
opis |opis |

-------------------------------------------------

<< poprzednia str




Narazie doszedłem do tekiego efektu gdzie wyświetla się np 3 kategorie na strone a w tych kategoriach może być " n " zdjęć i w efekcie może być np 100 zdjęć z kategori "A" na jednej stronie
a to nie oto chodzi

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 Aktualny czas: 10.10.2025 - 09:23