Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][MySQL][PHP] Użycie LIGHTBOXU, galeria oparta o baze danych MYSQL
-anka_skakanka-
post
Post #1





Goście







Chciałabym uzyć lightboxu do wyswietlania zdjęć z bazy.. podczas uploadu zdjec tworzone sa miniatury z rozszerzeniem tb_... przeczytałam sporo, jednka nie umiem tego zaimplementować w kodzie... pomijając te znaczniki co się wrzuca do head.. zostaje problem z tym a href

  1. // lista miniatur
  2.  
  3. else if( $cid && empty( $pid ) )
  4. {
  5. $number_of_thumbs_in_row = 2;
  6.  
  7. $result = mysql_query( "SELECT idgaleria,opis_zdjecia,nazwa_zdjecia FROM galeria WHERE idkategorie_uslug='".addslashes($cid)."'" );
  8. $nr = mysql_num_rows( $result );
  9.  
  10. if( empty( $nr ) )
  11. {
  12. $result_final = "\t<tr><td>Brak zdjęć w tej kategorii</td></tr>\n
  13. \t<a href='index.php?id=galeria'> Powrót do wyboru kategorii. </a>\n";
  14. }
  15. else
  16. {
  17. echo "<tr><td><a href='index.php?id=galeria'>Ponowny wybór kategorii zdjęć</a> &gt</td></tr>";
  18. while( $row = mysql_fetch_array( $result ) )
  19. {
  20.  
  21. $result_array[] = "<a href='index.php?id=galeria&cid=$cid&pid=".$row[0]." rel='lightbox[roadtrip]'>
  22. <img src='".$katalog_zdjec."/tb_".$row[2]."' border='0' alt='".$row[1]."' /></a>";
  23.  
  24. }
  25. mysql_free_result( $result );
  26.  
  27. $result_final = "<tr>\n";
  28.  
  29. foreach($result_array as $thumbnail_link)
  30. {
  31. if($licznik == $number_of_thumbs_in_row)
  32. {
  33. $licznik = 1;
  34. $result_final .= "\n</tr>\n<tr>\n";
  35. }
  36. else
  37. $licznik++;
  38.  
  39. $result_final .= "\t<td>".$thumbnail_link."</td>\n";
  40. }
  41.  
  42. if($licznik)
  43. {
  44. if($number_of_photos_in_row-$licznik)
  45. $result_final .= "\t<td colspan='".($number_of_photos_in_row-$licznik)."'>&nbsp;</td>\n";
  46.  
  47. $result_final .= "</tr>";
  48. }
  49. }
  50. }
  51. // zdjęcie w pelnym wymiarze
  52. else if( $pid )
  53. {
  54. $result = mysql_query( "SELECT opis_zdjecia,nazwa_zdjecia FROM galeria WHERE idgaleria='".addslashes($pid)."'" );
  55. list($opis_zdjecia, $nazwa_zdjecia) = mysql_fetch_array( $result );
  56. $nr = mysql_num_rows( $result );
  57. mysql_free_result( $result );
  58.  
  59. if( empty( $nr ) )
  60. {
  61. $result_final = "\t<tr><td>Brak zdjęć. </td></tr>\n";
  62. }
  63. else
  64. {
  65. $result = mysql_query( "SELECT nazwa_kategorii FROM kategorie_uslug WHERE
  66. idkategorie_uslug='".addslashes($cid)."'" );
  67. list($nazwa_kategorii) = mysql_fetch_array( $result );
  68. mysql_free_result( $result );
  69.  
  70. $result_final .= "<tr>\n\t<td>
  71. <a href='index.php?id=galeria'>Kategorie </a> &gt;
  72. <a href='index.php?id=galeria&cid=$cid'>$category_name</a></td>\n</tr>\n";
  73.  
  74. $result_final .= "<tr>\n\t<td align='center'>
  75. <br />
  76. <img src='".$katalog_zdjec."/".$nazwa_zdjecia."' border='0' alt='".$opis_zdjecia."' />
  77. <br />
  78. $opis_zdjecia
  79. </td>
  80. </tr>";
Go to the top of the page
+Quote Post
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Nie wiemy dokładnie na czym polega problem. Proponuję jednak sprawdzić (wpisując w 26 linijce poniższy kod) co znajduje się w zmiennej $result_array.
  1. echo '<pre>'; print_r($result_array); echo '</pre>';
Na pierwszy rzut oka wygląda na to, że brakuje jednego pojedynczego apostrofu zamykającego atrybut href (przed atrybutem rel).
Go to the top of the page
+Quote Post
-anka_skakanka-
post
Post #3





Goście







Cytat(mortus @ 2.03.2011, 08:48:31 ) *
Nie wiemy dokładnie na czym polega problem. Proponuję jednak sprawdzić (...)

znajduje się to
  1. Array ( [0] => )

Problem polega na tym, że wyswietla mi się blok miniatur, jak kliknę w miniaturę to otwiera mi się w tym samym oknie :
"kategorie> wybrana kategoria <br> zdjecie....."
jednakże nawet jak dodam do tego nawigację następny, poprzedni -> nie będzie się jakoś ładnie prezentować
dlatego chciałam aby po wyświetleniu miniatur, kliknięcie w jedną z nich otwierało je w lightboxie... w tych miejscach gdzie ja dodawalam to wyskakiwkalo mi to okienko, ale trwał tylko loading, bez ostatecznego efektu
z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mortus
post
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Czyli wygląda na to, że lightbox nie może odnaleźć pliku z obrazkiem. Przyjrzałaś się apostrofom, jak pisałem? Spróbuj podejrzeć źródło strony i zobacz, jak tam wyglądają odnośniki (te z rel='lightbox[roadtrip]'), a wszystko powinno być jasne. Co do sprawdzenia zawartości tablicy $result_array to chyba w złym miejscu je umieściłaś, albo mało precyzyjnie się wyraziłem. Chodziło mi o umieszczenie odpowiedniego kodu w 26 linijce, ale tego listingu, który przedstawiłaś. Wnioskuje stąd, że Ci się miniatury wyświetlają, a nie powinny, jeżeli $result_array jest pusta.
Go to the top of the page
+Quote Post
anka_skakanka
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.03.2011

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


Cytat(mortus @ 2.03.2011, 15:10:56 ) *
Czyli wygląda na to, że lightbox nie może odnaleźć pliku z obrazkiem. Przyjrzałaś się apostrofom, jak pisałem? (...)


linijke wstawiłam w dobre miejsce, dałam fragment kodu to wiadome że ja pracuje na całości...
więc tak przyjrzałam się cytatowi... jak wywale te rel to działa mi tak jak wcześniej, czyli wyświtla miniaturę, klikam w nią i wtedy otwiera mi się w tym samym oknie duże zdjęcie... a mysql_free_result odpowiada za zwolnienie pamięci przecież

/index.php?id=galeria&cid=2&pid=2 link gdy duże zdjęcie
/index.php?id=galeria&cid=1 link dla strony z miniaturami
// cid= to jest kategoria zdjec ( w danej kategorii mam x zdjec )
strona nie wrzucona na serwer wiec nie dam linku :/... może wrzucic plik z galeria.php i baze.sql ? i wtedy będzie wiadomo o co dokładniej chodzi
Go to the top of the page
+Quote Post
mortus
post
Post #6





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Jeśli usuniesz rel='lightbox[roadtrip]' to wszystko działa jak powinno, bo po naciśnięciu miniaturki wykonywany jest kod z następnego bloku elseif. Chodzi mi o to, że masz w kodzie:
  1. $result_array[] = "<a href='index.php?id=galeria&cid=$cid&pid=".$row[0]." rel='lightbox[roadtrip]'><img src='".$katalog_zdjec."/tb_".$row[2]."' border='0' alt='".$row[1]."' /></a>";
a powinno być:
  1. $result_array[] = "<a href='index.php?id=galeria&cid=$cid&pid=".$row[0]."' rel='lightbox[roadtrip]'><img src='".$katalog_zdjec."/tb_".$row[2]."' border='0' alt='".$row[1]."' /></a>";
Dlatego mówiłem o sprawdzeniu źródła strony i przyjrzeniu się odnośnikom do odpowiednich zdjęć.
Go to the top of the page
+Quote Post
anka_skakanka
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.03.2011

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


Cytat(mortus @ 2.03.2011, 16:40:47 ) *
(..) ]Dlatego mówiłem o sprawdzeniu źródła strony i przyjrzeniu się odnośnikom do odpowiednich zdjęć.

no wiem co jest wykonywane jak wywale te "rel":)... natomiast w ten sposób miałam tą linię jak doklądałam kod z lightboxa, tylko za dużo razy po kolejnych zmianach cofnęłam i dlatego znacznik znikł, niestety po dodaniu tego znacznika " ' " dalej tak samo działa, czyli otwiera się zacienione na około jasne okienko z tym loadingiem ... moze trzeba dodatkowo zagnieżdzić zapytanie żeby pobierało duży obrazek ?.. już tyle kombinacji róznych probowałam że się sama gubię wkońcu która kopia kopii kopiowana jets ta najlepiej działającą :/... chyba że może jest jakieś rozwiązanie inne godne polecenia, co będzie łatwiejsze w implementacji (IMG:style_emoticons/default/smile.gif)

ale przeciez jak już klikam w miniaturkę zdjęcia to mi się wszystko zacienia ale adres pozostaje ten co był przy wyborze kategorii czyli
  1. <a href="http://localhost/galeria/index.php?id=galeria&cid=2" target="_blank">http://localhost/galeria/index.php?id=galeria&cid=2</a>

to z pid mi sie pojawia jak wykonuje się to po else czyli bez uzycia rel
Go to the top of the page
+Quote Post
mortus
post
Post #8





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


A zatem chodzi o to, że odnośnik musi wskazywać bezpośrednio na obrazek, jak poniżej:
  1. $result_array[] = "<a href='".$katalog_zdjec."/".$row[2]."' rel='lightbox[roadtrip]'><img src='".$katalog_zdjec."/tb_".$row[2]."' border='0' alt='".$row[1]."' /></a>";
Wtedy cały kolejny blok elseif (ten z $pid) jest zbędny.
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: 8.09.2025 - 02:20