也就是说:如何把MySQL
 SELECT code1,code2,name1,name2 FROM table1
的结果放入Javascript可操作的二维数组里。(注:数据量很小,主要是为了支持下拉菜单的联动)

解决方案 »

  1.   

    php:
    json_encode($arr)js:
    eval("("+data+")")注意:data是php页面返回的json形式的$arr
      

  2.   


    <?
    $res = mysql_query("SELECT code1,code2,name1,name2 FROM table1",$conn);
    echo '
    <script type="text/javascript">
    var RES = new Array();
    var I = 0;
    ';
    while ($row = mysql_fetch_assoc($res)) {
      foreach($row as $key => $val){
        echo '
    RES[I]["'.$key.'"] = "'.$val.'";
    I++;
    ';
      }
    }
    echo '</script>';
    ?>
      

  3.   

    用json的数据格式最好。
    <?php
    $rs = mysql_query("SELECT code1,code2,name1,name2 FROM table1;");
    $Servers = array();
    while ($rt = mysql_fetch_array($rs)){
    $Servers[]=$rt;
    }
    $ServersJson=json_encode($DATAARR);
    ?><script type="text/javascript">
    var ServersJson={$ServersJson};
    //JS操作JSON和操作数组差不多的。</script>
      

  4.   

    在javascript里可以直接引用PHP的变量吗?
    我一加:var jsonArr = {$styleArr};就不行!<script type="text/javascript">
    {literal}
    function createArray() {
    alert('called!!');
    var jsonArr = {$styleArr};
    //var data = eval("("+jsonArr+")");
    //alert(data.toJSONString());
    }
    {/literal}
    </script> 在javascript里该如何使用PHP的变量?
      

  5.   


    $arr=array("1"=>array("name"=>"name1","sex"=>"1"),"2"=>array("name"=>"name2","sex"=>"0"),"3"=>array("name"=>"name2","sex"=>"0"),"4"=>array("name"=>"name2","sex"=>"1"),);
    $json=json_encode($arr);
    var jsonArr = <?php echo $json;?>;
      

  6.   

    smarty的话就要:
    $arr=array("1"=>array("name"=>"name1","sex"=>"1"),"2"=>array("name"=>"name2","sex"=>"0"),"3"=>array("name"=>"name2","sex"=>"0"),"4"=>array("name"=>"name2","sex"=>"1"),);
    $json=json_encode($arr);
    //将$json注册到smarty对象里去。
    $smarty->assign("json",$json);模板页面里就:
    <script type="text/javascript">
    var jsonArr = {$json};
    </script>
    //只能写在模板页里,不能将var jsonArr = {$json};写到js文件里去了,可以在其他JS文件里直接用jsonArr
      

  7.   

    只能写在模板页里,不能将var jsonArr = {$json};写到js文件里去了,可以在其他JS文件里直接用jsonArr
    ------------------------------------------------------------------
    没明白!!!--以下也不行!------------------------------
    <script type="text/javascript">
      var jsonArr = {$styleArr};
    </script> <script type="text/javascript">
    {literal}
    function createArray() {
      alert('called!!');
     var data = eval("("+jsonArr+")");
     alert(data.toJSONString());
    }
    {/literal}
    </script>  -----------
    我的{$styleArr}里肯定有值,用{html_radios name="style_code" options=$styleArr}都可看到。可在JS里看不到啊!
      

  8.   

    <script type="text/javascript">
      var jsonArr = {$styleArr};
    </script> 
    这样就可以了,jsonArr 就已经是个json对象了。你还去eval它做什么?
      

  9.   

    <script type="text/javascript">
      var jsonArr = {$styleArr};
    </script>
    当只有红色部分时,画面上会出
    var jsonArr =[{"code1":"S01","code2":"T01","name1":"\u7acb\u82b1\u6b63\u98a8\u4f53"},{...},...]但是在JS里
    alert(jsonArr.length); 什么都没有呀!