NYCPHP Meetup

NYPHP.org

[nycphp-talk] how to pass array from php to javascript

John Campbell jcampbell1 at gmail.com
Mon Sep 15 01:16:32 EDT 2008


On Mon, Sep 15, 2008 at 12:13 AM, John Campbell <jcampbell1 at gmail.com> wrote:
> On Sat, Sep 13, 2008 at 12:10 PM, Cristian Baltatescu
> <cbaltatescu at greenvision.ro> wrote:
>>
>>
>> On Sat, Sep 13, 2008 at 5:42 PM, chad qian <nynj.tech at hotmail.com> wrote:
>>>
>>> How to pass array from php to javascrip?thanks!
>>>
>>> Here is my sample code:
>>> <?php
>>> require "include/connection.php";
>>> //$menu_name=$_GET['menus'];
>>> //$menulist= array("Peter", "Joe", "Glenn", "Cleveland");
>>> //reset($menulist);
>>> $menulist=array();
>>> $q="select name from menus";
>>> $result=mysql_query($q);
>>> while($row=mysql_fetch_array($result)){
>>> $name=$row['name'];
>>> array_push($menulist,'$name');
>>> }
>>> ?>
>>> <script type="text/javascript">
>>> var menu1=new Array()
>>> .............//I want to copy array menulist to menu1,how to program
>>> here?I want the menu1 to be the same as menulist
>>> </script>
>>>
>>
>> Hello,
>> you could use json_encode() to encode your array in php to the json format
>> and then print it out from php inside the html, then decode the array using
>> js's json functions.
>> But as long as you do that you could print it straightforward, just write
>> from php the "html" code that defines the array in js.
>
> +1 for json... below is what you need to do:
>
> <script type="text/javascript">
> var menu1= eval( '(' + <?php echo json_encode($menulist); ?> ')' );
> </script>

Whoops.... it's a bit late.  You don't even need to bother with the
eval stuff.  using eval becomes important when you are using the
xmlHTTPRequest.

just:
<script>
var menu1 = <?php echo json_encode($menulist); ?>;
</script>

Regards,
John Campbell



More information about the talk mailing list