Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Galeria obrazków z MYSQL
Forum PHP.pl > Forum > Przedszkole
Xart
Witajcie smile.gif
Myślę sobie teraz jak by tu zrobić galerię obrazków pobieranych z bazy danych więc tak...

Załóżmy że mam kolumne
id galerii
ilosc zdjec
zdjecie1
zdjecie2
zdjecie3
zdjecie4
zdjecie5
...
miniatura1
miniatura2
miniatura3
miniatura4
miniatura5

Do wyświetlania zdjęć używam skryptu na zasadzie:
  1. <a class="fancybox-buttons" data-fancybox-group="button" href="duzy.jpg"><img src="maly.jpg" alt="" /></a>


Jak mogę dokładnie napisać skrypt który pobierze linki do obrazków z bazy MYSQL i w zalezności od ilosci będzie wyświetlaj je pętlą ?
Myślałem nad takim czyms
  1. $ilosc = z bazy ilos obrazkow
  2. $obrazek1 = link do 1 obrazka
  3. $obrazek2 = link do 2 obrazka
  4. ...
  5. $miniatura1 = link do 1 miniaturki
  6. ...
  7. for($i = 0; $i < $ilosc; $i++){
  8. <a class="fancybox-buttons" data-fancybox-group="button" href="$obrazek'.$i.""><img src="$miniatura'.$i." alt="" /></a>';
  9. }


Jak to więc zrobić żeby to działało ? Bo dokładnie nie wiem jak wstawić np zmienną jako część href
Jak przypisać automatycznie $obrazek1=link dla każdego w zależności od liczby żeby nie robić tego ręcznie ?
Byłbym wdzięczny za poprawione linijki odemnie smile.gif
Turson
W jaki sposób masz powiązanie między danym zdjęciem a jego miniaturą?
Xart
Mają takie samo ID w bazie tzn
obrazek1 ~ miniatura1
obrazek2 ~ miniatura2
Turson
  1. $zdjecia = mysql_query("SELECT * FROM zdjecia");
  2. while($row=mysql_fetch_assoc($zdjecia)){
  3. $min = mysql_query("SELECT * FROM miniaturki WHERE id=".$row['id']);
  4. $miniaturka = mysql_fetch_assoc($min);
  5. echo '<a class="fancybox-buttons" data-fancybox-group="button" href="'.$row['sciezka'].'"><img src="'.$miniaturka['sciezka'].'" alt="" /></a>';
  6. }
Xart
@UP
ale miniaturki i zdjecia są w tej samej tabelce smile.gif
jest jedna tabela a w niej narazie jeden wiersz -> każdy wiersz to kolejna galeria
i tak np w galerii o ID=1 są miniatura1,miniatura2,obrazek1,obrazek2,ilosc i tyle smile.gif
Turson
Przebuduj lepiej bazę tabelę na coś w stylu:
id_galerii | id_obrazka | id_rodzica | ścieżka_do_obrazka

wtedy dodając nowy obrazek wstawiasz id_rodzica 0, a w przypadku miniaturki id_rodzica=id_obrazka którego jest to miniaturka. Twoja aktualna tabela jest bez sensu, bo nie masz możliwości rozróżnienia obrazka od jego miniaturki i żadnego połączenia między nimi
Xart
Nie... mam....

Będę wczytywał galerię na danej podstronie za wiersza za pomocą zmiennej GET.
MINIATURA NR1 I OBRAZEK NR1 mają zmienną zakończoną takim samym ID czyli np
$dane[miniatura1] do obrazka $dane[obrazek1] i jest wszystko OK
Napisałem skrypt żeby czytało pętlą ale coś nie chodzi nwm w czym błąd

  1. <?php
  2. include("../admin/inc/config.php");
  3. $zapytanie = $mysqli->query("SELECT * FROM `galery` WHERE id='1'");
  4. $wynik = $zapytanie->fetch_assoc();
  5. $ilosc = $wynik['ilosc'];
  6. for($i = 1; $i < $ilosc; $i++){
  7. print("<a class="fancybox-buttons" data-fancybox-group="button" href="'.$wynik['obrazek".$i."'].'"><img src="'.$wynik['miniatura".$i."'].'"/></a>");
  8. }
  9. ?>


Dobra już sobie poradziłem tongue.gif
  1. <?php
  2. include("config.php");
  3. $zapytanie = $mysqli->query("SELECT * FROM `galery` WHERE id='1'");
  4. $wynik = $zapytanie->fetch_assoc();
  5. $ilosc = $wynik['ilosc'];
  6. for($i = 1; $i <= $ilosc; $i++){
  7. $duzy = $wynik['obrazek'.$i.''];
  8. $maly = $wynik['miniatura'.$i.''];
  9. print '<a class="fancybox-buttons" data-fancybox-group="button" href="'.$duzy.'"><img src="'.$maly.'"/></a>';
  10. }
  11. ?>


Można zamknąć smile.gif
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.