Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] strzałka w prawo i w lewo w galerii jak zrobić
Forum PHP.pl > Forum > Przedszkole
lamcpp
Robię galerię na stronę w PHP, za pomocą biblioteki GD tworzą się miniaturki:
  1.  
  2. while(dopoki są zdjęcia w bazie to twórz miniaturki)
  3. {
  4. echo "<a href='http://localhost/galeria/index.php?wysw=yes&id=$res[0]&plik=$res[2]&nazwa=$res[1]&id_sesji=$ident"."' title='$bierzacy_adres'><img src='".$images_dir."/tb_".$res[2]."' border='0' alt='".$res[1]."' /></a>";
  5. }


Link jest w postaci GET, a więc po kliknięciu na daną miniaturkę przenosi mnie na strone głowną, do diva o nazwie tresc i wyświetla się to jedno jedyne zdjęcie na którego miniaturkę kliknąłem wczesniej. Bardzo mi zalezało zeby wszystko otwierało się w tym samym oknie i by nie był to gotowy skrypt JS(które zresztą w nowym oknie się otwierają).
Kod dzięki któremu wyświetla się to jedno zdjęcie na stronie głownej to:
  1. if($_GET['wysw'])
  2. {
  3. echo "<img src='".$images_dir."/".$_GET['plik']."' border='0' alt='".$_GET['nazwa']."' />";
  4. }

Wszystko działa prawidłowo, ale chciałbym aby, jeśli miniaturek będzie więcej to żeby pojawiłą się jakas strzałka obok zdjęcia w tył i w przód w zależnosci od tego na które zdjęcie kliknięto i zeby użytkownik mógl sobie przeglądac zdjęcia naciskając strzałkę to w przód to wtył. I tu mam problem bo nie mam pomysłu jak to zrobić. Zdjęcia są wczytywane z róznych zapytań SQL, więc pomyslałem sobie tak, ze stworze zmienną sesyjną, która bedzie zawierała tresc zapytania SQL, które tworzyło jakis dany zestaw miniaturek. Czyli np. mam 12 miniaturek, to do zmiennej sesyjnej wpisuje zapytanie które te miniaturki utworzyło i wysyłam je metodą GET(po kliknięciu na miniaturkę).
Później odczytuje je na własciwej stronie gdzie jest duze zdjęcie, i mogę odczytać ile i jakie zdjęcia mozna jeszcze wyswietlić.
I w tym momencie się zatrzymuje bo nie wiem co dalej, mam już zdjęcie w duzej rozdzielczosci, mam ilość zdjęć które mogłbym przeglądac za pomocą strzałek...ale nie wiem jak zakodowac same strzałki zeby takowe przeglądanie zdjęc było mozliwe.

Mówiąc prosciej chodzi mi o cos takiego jak jest w skryptach javascript, klikamy na jakąś miniaturkę i strzałkami mozemy przeglądac pozostałe z katalogu czy tam z zapytania z bazy.
darko
Jeśli Cię dobrze rozumiem i szukasz czegoś, co pozwoliłoby użytkownikom przeglądać zdjęcia za pomocą prostej nawigacji typu następne - poprzednie, to polecam lightbox i tu zwróć uwagę na EXAMPLE IMAGE SET, po najechaniu nieco wyżej na obrazek pokaże się PREV lub NEXT w zależności po której stronie ustawisz kursor i czy jest następny/poprzedni w secie.

Nie ma chyba sensu pisanie czegoś od nowa, zbyt dużo tego typu skryptów jest w sieci w postaci gotowych i sprawdzonych rozwiązań.

Pozdrawiam!

ps. właśnie odkryłem, że nawigować można również używając strzałek lewa/prawa klawiatury.
lamcpp
dotychczas korzystałem z lightboxa ale chciałbym teraz by zdjęcie otwierało się w tym samym oknie, a w lightboxie jest tak ze otwiera się w nowym...i to mnie bardzo irytuje;/
darko
Cytat
dotychczas korzystałem z lightboxa ale chciałbym teraz by zdjęcie otwierało się w tym samym oknie, a w lightboxie jest tak ze otwiera się w nowym...i to mnie bardzo irytuje;/


Byłeś na tej stronie, do której podałem link wyżej questionmark.gif Lightbox nie otwiera żadnych okien, tylko wyświetla z-indexowanego diva ( na warstwie? ). Poczytaj doca, jestem przekonany, że da się go poustawiać według potrzeb. Przyznam, że z innych rozwiązań nie korzystałem, ale może ktoś inny poleci Ci coś, co będzie idealne w Twojej sytuacji.
lamcpp
no własnie nie ma takich opcji, zeby otwierało się w tej samej stronie;/
Kszyhuu
Dodaj przy uploadzie fotek, żeby zmieniało nazwę na numerek, tj foto1, foto2, foto3 i później tylko zmieniaj numerek w okienku.
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <center>
  6. <?
  7. if(!isset($_GET['id']))
  8. {
  9. $_GET['id']=1;
  10. }
  11. echo('<img src="XXX'.$_GET['id'].'.JPG"><br>');
  12. echo('<a href="foto.php?id='.($_GET['id']-1).'">Prev</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="foto.php?id='.($_GET['id']+1).'">Next</a>');
  13. ?>
  14. </center>
  15. </body>
  16. </html>
maryaan
Cytat(lamcpp @ 29.11.2009, 12:50:05 ) *
no własnie nie ma takich opcji, zeby otwierało się w tej samej stronie;/
Jeśli coś Ci się otwiera w nowym oknie to może masz czymś JavaScript zablokowany.
lamcpp
no dobrze, ale jeśli np zdjęcie zostało usunięte z bazy albo zapytanie zwróci wyniki w których nie ma załózmy foto6 to wtedy jest lipa...
Problem jest ztym ze fotki są wyswietlane po iluś tam zapytaniach zawężających za pomocą where z bazy danych,
czyli załózmy klikne na pierwszy link o nazwie drzewa_topola to wyswietlą mi się wszystkie miniaturki drzew o nazwie topola i pozniej za pomocą get podanego powyżej pobieram link do topoli w pliku index.php i wyswietlam głowne zdjecie, a chciałbym zeby moc wyswietlac rowneiz pozostałe zdjecia topol za pomocą przycisków <wstecz i dalej> tyle ze juz w np
po wybraniu drugiego linka o nazwie owoce_drzew wyswietli mi sie miniaturki drzew które dają owoce i znowu po kliknieciu na którąś przenosi mnie do index.php do odpowiedniego diva, gdzie jest zapis zeby wyswietlic zdjecie.
Ale jak wyswietlic nastepne z poziomu index.php:|

maryaan:
w lightboxie czy lyteboxie otwiera się coś a'la nowe okno, tak jak ktoś powiedział jest zindeksowane czy cos;] a ja chciałbym by w tym samy się otwierało co miniaturki, całkowice zasłaniajac miniaturki;]
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.