PHP&Smarty如何把MySQL的结果放入Javascript的二维数组里? 也就是说:如何把MySQL SELECT code1,code2,name1,name2 FROM table1的结果放入Javascript可操作的二维数组里。(注:数据量很小,主要是为了支持下拉菜单的联动) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 php:json_encode($arr)js:eval("("+data+")")注意:data是php页面返回的json形式的$arr <?$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>';?> 用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> 在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的变量? $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;?>; 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 只能写在模板页里,不能将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里看不到啊! <script type="text/javascript"> var jsonArr = {$styleArr};</script> 这样就可以了,jsonArr 就已经是个json对象了。你还去eval它做什么? <script type="text/javascript"> var jsonArr = {$styleArr};</script>当只有红色部分时,画面上会出var jsonArr =[{"code1":"S01","code2":"T01","name1":"\u7acb\u82b1\u6b63\u98a8\u4f53"},{...},...]但是在JS里alert(jsonArr.length); 什么都没有呀! 谁知道vs.php2.10_for_vs2010怎么安装, php4的数组里有自创类的元素,如何对其进行更改?谢谢 php变量等号问题。 PHP网站被挂木马,怎么办? 一个加密解密的问题。 thinkphp连接不上sqlserver2005 Linux下的Apache+php怎样连接windows下的Microsoft SQL Server2000呀! mail()的问题! 求在类里面使用数据库连接的方法 寻求合作者开发一套网络论坛,有兴趣的朋友进来看一下 关于global的基础问题。 权限设置的问题(急)
json_encode($arr)js:
eval("("+data+")")注意:data是php页面返回的json形式的$arr
<?
$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>';
?>
<?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>
我一加: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的变量?
$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;?>;
$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
------------------------------------------------------------------
没明白!!!--以下也不行!------------------------------
<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里看不到啊!
var jsonArr = {$styleArr};
</script>
这样就可以了,jsonArr 就已经是个json对象了。你还去eval它做什么?
var jsonArr = {$styleArr};
</script>
当只有红色部分时,画面上会出
var jsonArr =[{"code1":"S01","code2":"T01","name1":"\u7acb\u82b1\u6b63\u98a8\u4f53"},{...},...]但是在JS里
alert(jsonArr.length); 什么都没有呀!