Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Rozwiązany][MySQL][JavaScript][PHP]Dane z bazy, a działanie skryptu
Forum PHP.pl > Forum > Przedszkole
Dapi
Witam.
Zmagam się z problemem, którego praktycznie nie powinno być.
Mam w kod:
  1. echo '<img alt="" src="../funkcje/foto.php?foto='.base64_encode('foto/'.$album['adres']).'&width=190" style="cursor: pointer; border: 1px solid #000;" onclick="galeria(\'open\', $(this).data(\'gallery\'))" data-gallery="galeria'.$album['album'].'['.$album['id'].']" class="foto">'


Przykładowy wynik na stronie (firebug):
  1. <img class="foto" data-gallery="galeriaWynalazki[3]" onclick="galeria('open', $(this).data('gallery'))" style="cursor: pointer; border: 1px solid #000;" src="../funkcje/foto.php?foto=Zm90by93eW5hbGF6a2kyMDA5Yi5qcGc=&width=190" alt="">


i to NIE DZIAŁA.

DZIAŁAJĄCA wersja wygląda tak:
  1. echo '<img alt="" src="../funkcje/foto.php?foto='.base64_encode('foto/'.$album['adres']).'&width=190" style="cursor: pointer; border: 1px solid #000;" onclick="galeria(\'open\', $(this).data(\'gallery\'))" data-gallery="galeriaWynalazki.'['.$album['id'].']" class="foto">'


wynik na stronie (firebug):
  1. <img class="foto" data-gallery="galeriaWynalazki[3]" onclick="galeria('open', $(this).data('gallery'))" style="cursor: pointer; border: 1px solid #000;" src="../funkcje/foto.php?foto=Zm90by93eW5hbGF6a2kyMDA5Yi5qcGc=&width=190" alt="">


Jak widać, oba kody PHP różnią się jedynie tym, że w jednym słowo Wynalazki jest pobierane z bazy (tag data-gallery), a w drugim jest już wpisane.
To co serwer wysyła do przeglądarki nie różni się niczym. A jednak... pierwsza wersja nie działa, druga działa. problem w tym, że nie każde zdjęcie jest w albumie Wynalazki i musi to być pobierane z MySQL.

Dodam, że nie działa:
  1. 'data-gallery="galeria'.$album['album'].'['.$album['id'].']"'

  1. 'data-gallery="galeria'.$album['id'].'['.$album['id'].']"'

  1. 'data-gallery="galeriaA'.$album['album'].'['.$album['id'].']"'

Ale już
  1. 'data-gallery="galeria'.time().'['.$album['id'].']"'

  1. 'data-gallery="galeriaWynalazki['.$album['id'].']"'

działa.
problem jest jedynie z danymi z bazy.

Może mi ktoś wytłumaczyć, co robię źle?
wNogachSpisz
Powiem Ci co robisz źle. Przeplatasz HTML z PHP w taki sposób, że debugowanie jest bardzo uciążliwe.

  1. <?php
  2.  
  3. $album_id = $album['id'];
  4. $album_name = $album['album'];
  5. $album_adres = $album['adres'];
  6.  
  7. $src = '../funkcje/foto.php?foto=' . base64_encode("foto/{$album_adres}") . '&width=190';
  8. $data_gallery = "galeria{$album_name}[{$album_id}]";
  9.  
  10. ?>
  11.  
  12. <img style="cursor: pointer; border: 1px solid #000;" src="<?=$src?>" onclick="galeria('open', $(this).data('gallery'))" data-gallery="<?=$data_gallery?>" class="foto">
  13.  
  14. ?>


Teraz można pomyśleć o szukaniu błędu
Dapi
To nie do końca tak. Zdjęcia wrzucam w pętli do zmiennej i potem wszytsko leci do pliku *.tpl, także bałaganu wielkiego nie ma.
Problem rozwiązany, chodziło o cyferkę w nawiasie kwadratowym. Po przejściu do nowego albumu powinna być zliczana od 0, a tak nie było.
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.