Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Sajax] Tworzenie galerii
Forum PHP.pl > Forum > XML, AJAX > AJAX
extreme170
Witam. Muszę stworzyć galerię wraz z zamawianiem zdjęc w danych formatach z funkcjonalnym koszykiem itd itp przeliczanie cen po zmianie formatu / ilosci danego zdjęcia itd.

Opieram sie na bibliotece Sajax. Lecz nie mam pomyslu jak wyświetlać zdjęcia narazie robię to w taki sposob ze po kliknieciu na przycisk wyswietlaja mi sie zdjęcia (narazie sa tam 4 w bazie danych) i pozniej po kliknieciu na konkretne zdjęcie (zdarzenie onClick="show(id_zdjecia)" pobiera sobie sciezke z bazy i wyswietla w divie poniżej. Nie bede sie rozpisywał jak to działa tylko może pokaże na stronie testowej www.zdjecia-gogolin.gmina.pl/strona

Na czym polega problem. Chciałbym zrobić np wyświetlanie stron powyzej zdjęc i 2 przyciski jeden ktory wybiera kolejne zdjecie i jeden poprzednie o ile to mozliwe. Wiem, że mają to być linki tylko nie wiem jak je tworzyć gdyż potrzebuję konkretne identyfikatory z bazy wstawic w dane miejsce linka a gdy np klikne sobie na 3cie zdjęcie i zalozmy ono ma id_obrazka = 209 to czwarte akurat teraz ma 210 ale zalozmy wykasuje 4 zdjecie dodam 5innych znow skasuje cos i w danej galerii identyfikatory nie beda pokolei. Jak wtedy tworzyc te linki wraz z linkami do stron aby umożliwić sobie nawigację.

Zresztą poki co jedna funkcja sajaxa wyswietla miniaturki (cale <div><img src="xxx.jpg" onClick="show(24)" /></div> tworzone jest po stronie PHP i wstawiane z tablicy takich divów do innerHTML
 No i jak klikam to wypisuje mi konkretny id 
ale nie wiem jakie zdjęcie jest poprzednie a jakie kolejne (nie umime zrobic lin
ow).

Jak dojść do id obrazka jednego tak jakby z lewej i jednego z prawej i przy kazdym kliknięciu oczywiscie musi sie to aktualizować.


Dzięki za odpowiedzi smile.gif
maziak
Moze pobieraj sobie z bazy identyfikator wiekszy od aktualnego, z LIMIT 1 ? Cyli przekazujesz do skryptu aktualny identyfikator i zmienna logiczna dla nastepnego lub poprzedniego.
Wtedy pobierze sie zawsze jeden identyfikator, ktory jest poprostu wiekszy/mniejszy od poprzedniego, bez wnikania jaki to identyfikator
  1. <?php
  2. if ($_POST['logic']=="next") $znak='>'; 
  3. if ($_POST['logic']=="prev") $znak='<'; 
  4. $zaptanie='SELECT link FROM linki WHERE id_czycotam '.$znak.' '.$identyfikator_zdjecia.' LIMIT 1' ;
  5. ?>

Pisalem tak z glowy - tylko zeby nakreslic o co mi chodzi - moga byc bledy.

Jest to chyba dosc dobre rozwiazanie.
extreme170
CODE

function pokaz() {
$conn = mysql_connect("sql.xxx.pl","xxx","xxx");
mysql_select_db("xxxr");

$result = mysql_query("select o.id_obr, o.nazwa as img, o.sciezka as src from galeria g, obrazy o where g.id_gal = o.id_gal");
$src = array();
while($row = mysql_fetch_row($result)){
$str = str_replace("\\","/",$row[2]);
$s = str_replace("IMG","mIMG",$str);
$size = getimagesize($s);
if($size[0]>$size[1]){
$w = 120;
$h = 80;
}
else{
$w = 80; //3:2 w pionie
$h = 120;
}
$id = $row[0];
$src[] = '<div id="obrazek"> <img width="'.$w.'" height="'.$h.'" src="'.$s.'" onClick="do_show('.$id.')" /></div>';
}

mysql_close($conn);
return $src;
}


function show($id) {

$conn = mysql_connect("sql.xxxx.pl","xxx","xxx");
mysql_select_db("xxxr");

$query = 'select o.id_obr, o.nazwa, o.sciezka from galeria g, obrazy o where o.id_obr='.$id.'';
$result = mysql_query($query);
$src = array();
while($row = mysql_fetch_row($result))
{
$str = str_replace("\\","/",$row[2]);
$size = getimagesize($str);
if($size[0]>$size[1]){
$w = $size[0];
$h = $size[1];
}
else{
$w = 266; //3:2 w pionie
$h = 400;
}
$src[] = '<div id="obrazek"> <img width="'.$w.'" height="'.$h.'" src="'.$str.'" /></div>';
}

mysql_close($conn);
return $src;
};





Narazie to wygląda tak... pierwsza funkcja pokazuje miniaturki i dodaje do nich onClick a druga wyswietla pojedyncze zdjęcie po kliknięciu na jakas z miniaturek. Planuje zrobic tak ze po wyborze galerii bedzie sie wyswietlac pierwsza strona miniatur i ppierwsze zdjęcie. A strony galerii chyba pójdzie ponumerować w php i przeslać zestaw linków w tablicy np show_page(3) i link 3 pod to podpiąć a php bedzie wiedział ze 3cia strona to np limit 15,20 w danym zapytaniu. Ale wlasnie ze zdjęciami jest problem bo nie weim jak to zrobic zeby zarowno dzialalo na klikaniu po zdjęciach i dodatkowe przyciski kolejne poprzednie.
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.