» Poradna » Programy

Array

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 5/5
 |   |  Microsoft Windows XP Chrome 25.0.1364.172  |  [88.100.224.---]

Ahoj, potřeboval bych poradit. Mám webstránku, která mi posílá přes PHP informace z formuláře na jinou. Na té druhé stránce nejprve získám data z formuláře metodou GET, ty pak vypíšu atd. To ale neni podstatný. Jde o to, že se jedná v podstatě o to, že pomocí querry získám data z MySQL. Následně ale potřebuju ty data zpracovat v javascriptu. Zkusil jsem to přes JSON a funguje to, jenže problém je, že ten sloupeček který potřebuju přejmout z php jsou v podstatě čísla, pomocí javascriptu s tím pak taky potřebuju jako s číslama pomocí metod Math() pracovat. Jenže i když i v MySQL je to zadáno jako číslo, ta array co mi vznikne je vždy textová, tzn. čísla jsou sice taková jak mají, ale jsou ohraničená "x", čili javascript to bere jako text a ne numerickou array. Nevíte jak to definovat?Tady zjednodušená ukázka kódu:<?php $mesic = $_GET["D1"]; $rok = $_GET["D2"];$con=mysqli_connect("...","...","...","..."); $result = mysqli_query($con,"SELECT * FROM alldata ;while($row = mysqli_fetch_array($result)){$js_temp[] = $row['temp'];} ?><script>teplota = <?php echo json_encode($js_temp);?>;</script>Výsledek pak je, že teplota je např. teplota= ["6.14650","3.80179","1.85000"]Jenže já potřebuju aby ta array byla numerická

Odpovědi na otázku

 |   |  Microsoft Windows 7 Firefox 19.0  |  [91.219.240.---]

Přetypovat. $js_temp[] = (int) $row['temp']; // nejsem si uplne jistej jestli to pomuzeNebo lespi asi bude pretypovat v js metodou parseFloat();

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Chrome 25.0.1364.172  |  [88.100.224.---]

No, jde mi o to, abych třeba mohl použít Math.max(js_temp) a vyhodilo mi to maximální číslo z té array

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 19.0  |  [91.219.240.---]

Tak podteplota = <?php echo json_encode($js_temp);?>;dejfor( var i in teplota ){teplota[i] = parseFloat(teplota[i]);}

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 19.0  |  [91.219.240.---]

Samozrejmne $js_temp[] = (float) $row['temp'];

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Chrome 25.0.1364.172  |  [88.100.224.---]

Díky moc, funguje

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: JSON, D1



Určitě si přečtěte



Aktuální číslo časopisu Computer

26 procesorů v důkladném testu

Zhodnotili jsme 18 bezdrátových reproduktorů

Jak fungují cash back služby?

Pohlídejte své děti na internetu