Hallo,

Ik heb een array in php (gegevens uit de database). Nu wil ik deze array doormiddel van een onclick achter een plaatje doorgeven aan een function in javascript dus:
onclick="opdracht(<?php echo $array ?>)"
. Dit is me tot op heden nog niet gelukt. Nu wil ik weten of dit uberhaupt mogelijk is of dat ik de array om moet zetten naar een string met komma's ertussen.
Je moet de array omzetten naar een javascript array. Want echo $array geeft sowieso enkel het woord "Array" als resultaat.
PHPerik schreef op 06.10.2007 16:43
Je moet de array omzetten naar een javascript array. Want echo $array geeft sowieso enkel het woord "Array" als resultaat.


Kun je me misschien ook vertellen hoe ik dat zou moeten doen? Alvast bedankt.
Kijken hoe een javascript array eruit ziet:
[1,2,3,4,5] of
Array(1,2,3,4,5);



onclick="opdracht( [<?php echo implode('\',\'',$jArray ); ?>])"

<?php
$aArray = array('foo','bar','foobar');
echo 'aArray = new Array(\'' . implode('\',\'', $aArray) . '\');';
?>

Een array met meerdere dimensies gaan wal lastiger...
michel schreef op 06.10.2007 16:58
Kijken hoe een javascript array eruit ziet:
[1,2,3,4,5] of
Array(1,2,3,4,5);


<?php
$jArray = '';

foreach( $array as $elm )
     $jArray .= $elm.',';
?>
onclick="opdracht( [<?php echo substr($jArray, -1); ?>])"



Dankje,

Werkt het ook met zo'n array?

[0] => stdClass Object
(
[id] => 4
[name] => checked
)

[1] => stdClass Object
(
[id] => 1
[name] => name
)

[2] => stdClass Object
(
[id] => 3
[name] => value
@jeroen
zoals al wordt verteld werkt het niet met multidimensionale arrays. en gebruik implode ipv een foreach loop

[edit]
ik zie dat het wel een gewone array is met objecten... dat moet wel lukken, maar dan zal je wel een foreach moeten gebruiken omdat je de keys ook nodig hebt
[/edit]
Tip: Google eens naar "JSON" (Javascript Simplified Object Notation).

.... er gaat een wereld voor je open (:
Oke, bedankt dan had ik dat waarschijnlijk over het hoofd gezien. Ik denk dat ik dan maar even naar een andere oplossing moet gaan kijken. Heb namelijk het id en de naam nodig in javascript
Pholeron geeft je net die oplossing JSON. Hiermee kan je prima communiceren tussen PHP en javascript

Reageren