ugrás a tartalomhoz

PHP-ből generált JavaScript tömböt nem szereti a Firefox

Pal_ur · 2005. Okt. 16. (V), 18.50
Üdv,

van egy tömböm, amit úgy hozok létre, hogy

var pontok = [];
Ha létrehozok gyakorlatilag végtelen számú elemet bele, hogy

for (var i = 0; i < 500; i++) {
   var elem = new TE(minX * Math.random(), minY * Math.random());
   pontok.push(elem);
}
akkor nem nyafog pl. a Firefox...

Ha ugyanezt szeretném csinálni, azzal megcsavarva, hogy nem véletlenszerűen generálnám a pontokat, hanem MySQL-ből jönnének le, és PHP-val kerülnek kiíratásra, (azért van benne echo :)

<?php
echo '	var pontok = [];'."\n";

$p = 0;
while($row = mysql_fetch_array($result))
	{
	echo '	var elem = new TE(' . $row[0] . ', ' . $row[1] . ');'."\n";
	echo '	   pontok.push(elem);'."\n";
	$p++;
	}
akkor a FireFox panaszkodik, merthogy túl hosszú ideig tartana a skript feldolgozása, pedig a teszteléskor az adatbázisban összesen 47-en vannak, ami mégsem ötszáz...

Mit lehet tenni, hogyan tudok esetleg a PHP-ben létrejövő tömbből egyenesen JS tömböt csinálni (hátha az a baja, hogy közben kiírom fájlba)?
 
1

Tedd ki a linket

Anonymous · 2005. Okt. 16. (V), 21.15
Üdv!

Tedd ki a linket, mert így nehéz ellenőrizni és debuggolni!
2

Pl. egy tesztoldal

Pal_ur · 2005. Okt. 17. (H), 08.45
Üdv,

nem a küllem, a forrás számít:
http://www.taborhely.info/teszt/

Pál_úr
3

Kicsit késve

Koponya · 2010. Dec. 30. (Cs), 01.21
Szia.

Azt nem is feltételezem, hogy a $result-ban nincs benne a mysql lekérés eredménye, így feltételezéseim szerint a js-nek van olyan gondja, hogy 47szer akarod újradefiniálni az elem változót, és mivel az a js szemében nem ciklusban van, ez lehet probléma. :)
(Látom, hogy a téma idejét múlt, de hátha idetéved valaki hasonló problémával.)
4

idejét múlt

nova76 · 2010. Dec. 30. (Cs), 16.54
idejét múlt.
Manapság aki ilyet csinál, inkább lebeszélném a PHP programozásról...
6

+1

inf · 2010. Dec. 30. (Cs), 19.28
+1
5

Php-ban vannak olyan

inf · 2010. Dec. 30. (Cs), 19.28
Php-ban vannak olyan függvények, mint pl a json_encode, amivel egyszerűen javascriptté lehet alakítani egy tömböt. Felesleges ilyesmivel gányolnod, ha nem értesz hozzá.

Tippre a fetch_array a 0 indexre a sor id-jét rakja. fetch_assoc vagy fetch_object jobb lenne helyette, azon legalább látni, hogy mi hova kerül. A json_encode majd javascriptes init ettől függetlenül sokkal értelmesebb lenne.
7

Hozzátenném, hogy 2005-ben,

bugadani · 2010. Dec. 30. (Cs), 20.04
Hozzátenném, hogy 2005-ben, amikoris a téma született, még nem volt json_encode(). Legalábbis a doksi PHP 5.2.0-hoz írja, ami 2006<=
8

Jesszus :D Nem néztem a

inf · 2010. Dec. 30. (Cs), 21.38
Jesszus :D Nem néztem a dátumot...