Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Galeria zdjęć, Większe zdjęcie po kliknięciu
tomsi
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Mam taki problem. Za pomocą kodu:
  1. <?php
  2. echo '<img src="foto/id'.$id.'zdj0.jpg" width="100" height="100">';
  3. ?>

wstawiam zdjęcię. I teraz chciałem żeby po kliknięciu na zdjęcie zostało ono powiększony w nowym oknie. Wstawiłem taki kod:
  1. <?php
  2. echo '<A href="javascript:expand("foto/id '. $id .' zdj0.jpg")">
  3. <IMG border=0 width="150" height="113" src="foto/id'.$id.'zdj0.jpg">';
  4. ?>

ale to nie działa.
Dodam jeszcze, że zdjęcia mają nazwy w postaci, np. id3zdj0.jpg
Nazwa zdjęcia tworzy się sama w zależności do czego jest dodana ma inne id oraz które to jest zdjęcie w tym id.

Ten post edytował tomsi 12.04.2008, 20:35:52
Go to the top of the page
+Quote Post
KCG
post
Post #2





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

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


a może <a href="zdj.jpg" onclick="target='nowe_okno'"><img ... /></a> ?
Go to the top of the page
+Quote Post
wieprzucpp
post
Post #3





Grupa: Zarejestrowani
Postów: 85
Pomógł: 2
Dołączył: 10.02.2006

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


spróbuj tak
  1. <?php
  2. $id="3z";
  3. $sciezka="foto/id$id"."zdj0.jpg";
  4.  
  5. echo("<a href=\"javascript:window.open('$sciezka','c','top=0,left=0,width=500,height=500','scrollbars=yes');void(null);\">XXX</a>");
  6. ?>


Pozdro
Go to the top of the page
+Quote Post
tomsi
post
Post #4





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Ok ale tego

  1. <?php
  2. $id="3z";
  3. ?>


to nie podawałem. Niech się zmienia w zależonści od produktu.

A może masz pomysł jeszcze jak zrobić żeby jeżeli pod tym samym id było kilka zdjęc to żeby można było je też przejrzeć wszystkie a nie tylko to co się kliknęło.
Go to the top of the page
+Quote Post
KCG
post
Post #5





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

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


A jak Ty te zdjęcia w ogóle zapisujesz/wczytujesz? Bo generalnie trudno z jednego niepowtarzalnego id kilka zdjęć oglądać.
Go to the top of the page
+Quote Post
tomsi
post
Post #6





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Zdjęci są dodawane przez admina do produktu. Są wrzucane do jednego folderu i jednocześnie nadaje im unikalne nazwy w postaci takiej, że w zależności do jakiego produktu taki dostaje numer id i dodatkowo do tego id dostaje numer zdjecia.

Np. monitory to mają u mnie w bazie id=4, więc dodaje zdjęcie i ono będzie miało nazwę id4zdj0.jpg dodam jeszcze jedno to będzie miało nazwę id4zdj1.jpg itd.
Go to the top of the page
+Quote Post
kallosz
post
Post #7





Grupa: Zarejestrowani
Postów: 272
Pomógł: 19
Dołączył: 29.07.2006

Ostrzeżenie: (10%)
X----


to pobierz za pomocą get

$id=$_GET['numer'];

Ten post edytował kallosz 13.04.2008, 06:21:15
Go to the top of the page
+Quote Post
wieprzucpp
post
Post #8





Grupa: Zarejestrowani
Postów: 85
Pomógł: 2
Dołączył: 10.02.2006

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


Cytat(tomsi @ 12.04.2008, 23:06:30 ) *
Zdjęci są dodawane przez admina do produktu. Są wrzucane do jednego folderu i jednocześnie nadaje im unikalne nazwy w postaci takiej, że w zależności do jakiego produktu taki dostaje numer id i dodatkowo do tego id dostaje numer zdjecia.

Np. monitory to mają u mnie w bazie id=4, więc dodaje zdjęcie i ono będzie miało nazwę id4zdj0.jpg dodam jeszcze jedno to będzie miało nazwę id4zdj1.jpg itd.

no to banalna sprawa. Wystarczy zrobić pętle. Ale teraz wszystko zależy od Ciebie jak to sobie graficznie oprawisz. A ogólny schemat będzie wyglądał tak:

  1. <?
  2. $id=$_GET['id'];
  3.  
  4. //przydało by się abyś miał gdzieś zapisane ile jest zdjęć w danej kategorii. Wtedy pętla wyglądała by tak:
  5. $a=$ile_jest_w_danej_kategorii_produktow;
  6.  
  7. $x=0;
  8. while($x<=$a)
  9. {
  10. $sciezka="foto/id$id"."zdj$x.jpg";
  11.  
  12. echo("<a href=\"javascript:window.open('$sciezka','c','top=0,left=0,width=500,height=500','scrollbars=yes');void(null);\">XXX</a><br>");
  13. $x++;
  14. }
  15. ?>


A jeśli nie masz zapisanej liczby produktów (zdjęć) to możesz zrobić to tak:
  1. <?
  2. $id=$_GET['id'];
  3.  
  4. $x=0;
  5. $a=-1;
  6. while($x<$a)
  7. {
  8. $sciezka="foto/id$id"."zdj$x.jpg";
  9.  
  10. if(is_file("$sciezka")==0)
  11. {
  12. break;
  13. }
  14. else
  15. {
  16. echo("<a href=\"javascript:window.open('$sciezka','c','top=0,left=0,width=500,height=500','scrollbars=yes');void(null);\">XXX</a><br>");
  17. $x++;
  18. }
  19. }
  20. ?>


Ja osobiście polecam Ci pierwsze rozwiązanie ;]

p.s. mam nadzieje, że się nigdzie nie pomyliłem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Pozdro

Ten post edytował wieprzucpp 13.04.2008, 09:24:55
Go to the top of the page
+Quote Post
tomsi
post
Post #9





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


A czemu jak mam taki kod

  1. <?php
  2. for($i=0; $i<$zdjecie;$i++)
  3. {
  4.  
  5. echo '<b>Zdjecie nr '.($i+1).': </b><img src="foto/id'.$id.'zdj'.$i.'.jpg" width="100" height="100" alt="Zdjecie nr '.($i+1).'"><br><br>';
  6.  
  7. }
  8. ?>


wyświetla mi zdjęcie nazwijy je miniaturkę, a w kodzie

  1. <?php
  2. for($i=0; $i<$zdjecie;$i++)
  3. {
  4.  
  5. $sciezka='foto/id'.$id.'"."zdj'.$i.'.jpg';
  6. $mini='<img border="0" src="foto/id'.$id.'zdj'.$i.'jpg" width="100" height="100" alt="Zdjecie nr '.($i+1).'"><br><br>';
  7.  
  8. echo("<a href=\"javascript:window.open('$sciezka','Okno','top=0,left=0,width=500,height=500','scrollbars=yes');void(null);\">$mini</a>");
  9.  
  10. }
  11. ?>


Zdjęcia małego nie ma, chociaż po kliknięciu na napis, który określiłem w "alt" otwiera się poprawne większe zdjęcie.
Go to the top of the page
+Quote Post
Kicok
post
Post #10





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


A może warto samemu popatrzeć w źródło wygenerowanej strony i poszukać błędów.

Wiem, że znalezienie literówki nie większej od kropki w takiej ilości kodu HTML może być ciężkie, ale wystarczy chwilę pomyśleć nad istota problemu i można poszukiwania zawęzić do atrybutów src="" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
tomsi
post
Post #11





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Patrzyłem, ale nie zauważyłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzięki.

Poprawny kod:

  1. <?php
  2. for($i=0; $i<$zdjecie;$i++)
  3.  
  4. {
  5.  
  6. $sciezka='foto/id'.$id.'zdj'.$i.'.jpg';
  7. $mini='<img src="foto/id'.$id.'zdj'.$i.'.jpg" border="0" width="100" height="100" alt="Zdjecie nr '.($i+1).'"><br><br>';
  8.  
  9. echo("<a href=\"javascript:window.open('$sciezka','Okno','top=0,left=0,width=500,height=500','scrollbars=yes');void(null);\">$mini</a>");
  10.  
  11. }
  12. ?>


Jeszcze w zmiennej $sciezka zlikwidowałem "." przed zdj.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 14:29