Autor Zpráva
Matess
Profil *
Ahoj,
jak lze vypsat JavaScript pomocí PHP, ale aby byl plně funkční?

Snažím se vypsat toto:
	<script type="text/javascript">
		var data = [
			{alt: 'Západ slunce', small: {url: './tn01.jpg'}, big: {url: './01.jpg'} },
			{alt: 'Praděd', small: {url: './tn02.jpg'}, big: {url: './02.jpg'} },
			{alt: 'Klaustrofobie', small: {url: './tn03.jpg'}, big: {url: './03.jpg'} },
			{alt: 'Armáda', small: {url: './tn04.jpg'}, big: {url: './04.jpg'} },
		];

		var optObj = { 
      width: 750, 
      height: 550,
      thumbWidth: 50, 
      thumbHeight: 50
    };
		var g = new SZN.ImageBrowser('gallery', data, optObj);
	</script>


A to tak, že z DB tahám obr. 01.jpg, 02.jpg - x.jpg.

Zkoušel jsem to nějak takto, ale nefunguje mi to:
<script type=\"text/javascript\">
		var data = [

<?php
$dotaz = mysql_query("SELECT * FROM foto");
while ($vypis = mysql_fetch_array($dotaz)) {
  echo "{alt: '" .$vypis["popis"]. "', small: {url: '" .$vypis["nazev"]. "'}, big: {url: '" .$vypis["nazev"]. "'} },";
	};?>
  ];

      var optObj = { 
      width: 750, 
      height: 550,
      thumbWidth: 50, 
      thumbHeight: 50
    };
    var g = new SZN.ImageBrowser('gallery2', data, optObj);
	</script>

ale to mi nefunguje tak jak by mělo.

Jak vypisujete JS vy?

Děkuji za info!
nightfish
Profil
ale to mi nefunguje tak jak by mělo.
nemůžeš být trochu konkrétnější? ten algoritmus vypadá vcelku dobře

a v tom úvodním javascriptu je na konci přebývající čárka za posledním prvkem pole - nevím, jestli je to syntaktická chyba nebo ne
nicméně chybová konzole tvého prohlížeče napoví
panhuhu
Profil
Dle mého to hází tou poslední čárkou chybu, proto se new SZN.ImageBrowser neinicalizuje.

Přihod strukturu, co ti to vypíše do kódu.
-----
EDIT: tak poslední čárka v poli je funkční
Matess
Profil *
Takže trochu upřesním:
Je to tato fotogalerie, kterou jsem chtěl implementovat do svých stránek (http://jak.seznam.cz/example/widgets/#imagebrowser).

V DB mám uložené názvy fotografií a jejich popis, který chci vypsat.

Pokud postupuji od začátku špatně a lze to udělat jinak (jednodušeji), tak mi prosím poraďte.

Děkuji.

Ještě v ZK stránky mi to vypisuje toto:
<div id="gallery2">
		<a href="./01.jpg"><img src="./tn01.jpg" alt="ZĂĄpad slunce" /></a>
		<a href="./02.jpg"><img src="./tn02.jpg" alt="Praďed" /></a>
		<a href="./03.jpg"><img src="./tn03.jpg" alt="Klaustrofobie" /></a>
		<a href="./04.jpg"><img src="./tn04.jpg" alt="ArmĂĄda" /></a>

</div>


<script type="text/javascript">
		var data = [{alt: 'Západ slunce', small: {url: '01.jpg'}, big: {url: '01.jpg'} },{alt: 'Prad?d', small: {url: '02.jpg'}, big: {url: '02.jpg'} },{alt: 'Klaustrofobie', small: {url: '03.jpg'}, big: {url: '03.jpg'} },{alt: 'Armáda', small: {url: '04.jpg'}, big: {url: '04.jpg'} },  ];

		var optObj = { 
      width: 750, 
      height: 550,
      thumbWidth: 50, 
      thumbHeight: 50
    };
		var g = new SZN.ImageBrowser('gallery2', data, optObj);
	</script>




Děkuji!
Matess
Profil *
Ještě dodávám:

Testuji to na localhostu, tak nemůžu dát odkaz, ale původní verze bez použití PHP a DB funguje normálně.

Ta výsledná verze funguje taky, ale při přechodu mezi obrázky obrazovaka bliká a není vycentrována (jako by se načítala z levého horního rohu).
Po načtení je to už tak jak to má být, ale když dám zobrazit další obr., tak to zase skočí z levého rohu.
AnonymXYZ
Profil *
Mas tam spatny uvodzovky
AnonymXYZ
Profil *
ne, sry, zpletl sem se
Matess
Profil *
Tak jsem to umístil na server (test) a dělá to pořád!
První obrázky jsou bez použití PHP a DB a ty pod čarou jsou s PHP a DB.

Vyzkoušejte si prosím přechod mezi obrázky a podívejte se jak to skáče!

Jak to lze odstranit. Děkuji!
Chamurappi
Profil
Reaguji na Matessa:
Hází ti to chybu jen v Exploreru, ne? To jsi mohl zmínit.

Kolega nightfish ti psal:
v tom úvodním javascriptu je na konci přebývající čárka za posledním prvkem pole

Kolega panhuhu ti psal:
Dle mého to hází tou poslední čárkou chybu, proto se new SZN.ImageBrowser neinicalizuje.

Zkusil jsi tu čárku smazat? Nezkusil.
Podle Exploreru máš v poli data pět položek, ta pátá je undefined, a proto ti po jejím přiřazení do item končí zjišťování item.alt chybou.
Matess
Profil *
Chamurappi
Jo začínám to chápat.

Zkoušel jsem to jen v Opeře nikoliv v IE.

Ale já nevím jak to udělat abych smazal tu poslední čárku, když vypisuji ten řádek pomocí while:
<?php
echo "
<script type=\"text/javascript\">
		var data = [";

@$dotaz = mysql_query("SELECT * FROM foto");
  while (@$vypis = mysql_fetch_array($dotaz)) {
    echo "{alt: '" .$vypis["popis"]. "', small: {url: '" .$vypis["nazev"]. "'}, big: {url: '" .$vypis["nazev"]. "'} },";
  };
?>
  ];

      var optObj = { 
      width: 750, 
      height: 550,
      thumbWidth: 50, 
      thumbHeight: 50
    };
	var g = new SZN.ImageBrowser('gallery2', data, optObj);
</script>


Můžete mi prosím někdo poradit?
Děkuji.
Jan Tvrdík
Profil
Matess
Možností je několik např:
- celé shodit do pole a to pak spojit funkcí implode
- před tělo cyklu vložit $prvni = true; a dovnitř if(!$prvni) echo ","; + $prvni = false;

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: