Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połączenie PHP z JS
klakier1991
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.05.2011

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


Witam,
Z góry piszę, że jestem początkujący zacząłem przygodę z PHP około 3tyg temu.
Stworzyłem galerię w PHP i teraz chciałbym użyć jakiejś galerii z JavaScriptu.
Niestety napotkałem na problem mianowicie, Galeria z .JS wczytuje zdjęcia na sztywno a ja chciałbym by były pobierane dynamicznie z
galerii stworzonej już wcześniej w PHP lub z bazy danych.
Galeria w PHP wygląda tak, że z bazy danych pobiera wszystkie odnośniki do zdjęć danego użytkownika i wypisane są za pomocy pętli.
  1. for ($i=0; $i <$num_results; $i++) {
  2. $row = mysql_fetch_array($result);
  3.  
  4. $photolocation = 'http://www.raceonline.cba.pl/images/'.$id.'/'.$row['cover'];
  5.  
  6. $photo = "<img src='$photolocation' />";
  7.  
  8. print " ";
  9.  
  10.  
  11. print $photo;
  12.  
  13. }


$id = id użytkownika
$row['cover'] = odnośnik do zdjęcia np. 23.jpge

a JavaScript wygląda tak

var JaS = {
// Customization parameters
imagePath : "pictures/",
images : [

["1.jpg", "Bat bridge in Austin", "Bridge"],
["2.jpg", "Blossoming tree", "Tree"],
["3.jpg", "Bat bridge from below", "Bridge"],
["4.jpg", "Birds", "Birds"]

],

Chciałbym stworzyć galerię JS by była dynamiczna w zależności na jakiego użytkownika się wchodzi stąd moje pytanie czy takie coś jest możliwe.
Podejrzewam, że trzeba jakoś zaincludować PHP do JS lub na odwrót.
Proszę o jakieś wskazówki z góry dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kulmen
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 20.05.2011

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


Po pierwsze języki PHP i javascript to byty z dwóch różnych planet - PHP działa wyłącznie po stronie serwera javascript po stronie klienta. Dlatego nie istnieje możliwość bezpośredniego przekazywania sobie zmiennych przez te języki. Jednak dzięki temu, że PHP generuje po prostu kod do wyświetlenia przez przeglądarkę, jak również dzięki temu, że javascript może wywołać dowolny adres, istnieją pewne formy komunikacji. Ale na pewno nie możesz zrobić jednej rzeczy - do pliku javascript nie da się przekazać czegokolwiek z PHP. W drugą stronę OK - możesz w pliku PHP wygenerować kod javascript. W pliku js masz:

var JaS = {
// Customization parameters
imagePath : "pictures/",
images : [

["1.jpg", "Bat bridge in Austin", "Bridge"],
["2.jpg", "Blossoming tree", "Tree"],
["3.jpg", "Bat bridge from below", "Bridge"],
["4.jpg", "Birds", "Birds"]

],
....
}

czyli obrazki znajdują się w własności images obiektu JaS. Zatem w pliku PHP możesz wygenerować kod javascript zmieniający tą własność np:
  1. <script type="text/javascript">
  2. JaS.images = [ <?php foreach($obrazki as $o): ?>
  3. ["<?php echo $o['nazwa_pliku']; ?>", "<?php echo $o['opis_pliku']; ?>", "<?php echo $o['atrybut_alt']; ?>"],
  4. <?php endforeach; ?>
  5. ];


Gdzie $obrazki to dwuwymiarowa tablica PHP zawierająca nazwy, opisy itp. obrazków, które chcesz wyświetlić. Aby nie komplikować kodu darowałem sobie sprawdzanie czy jest to ostatni element tablicy, Ty jednak musisz to zrobić bo wygenerowany kod będzie miał postać:

["aaa1","bbb1", "ccc1"],
["aaa2","bbb2", "ccc2"],
["aaa3","bbb3", "ccc3"],
...

czyli będzie miał przecinek po każdym elemencie tablicy. Tak być powinno poza ostatnim elementem. Jeśli po ostatnim elemencie też będzie przecinek, kod javascript nie będzie Ci działał.

Ten post edytował kulmen 20.05.2011, 11:01:01
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 01:22