当前位置:Gxlcms > PHP教程 > PHP数组和JS交互问题

PHP数组和JS交互问题

时间:2021-07-01 10:21:17 帮助过:6人阅读

小弟初学PHP, 想用AJAX的方式填充数据
$sql = "Select * from JW_FANCE where " . $condition;$rs = mysql_query ( $sql, $conn );$index = 0;while ( ($row = mysql_fetch_array ( $rs )) != false ) {	$result[$index] = array (			"PK" => $row ["PK"],			"NAME" => $row ['NAME'],			"SHORT_NAME" => $row ['SHORT_NAME'],			"NODE" => $row ['NODE'],			"PARENT_NODE" => $row ['PARENT_NODE'] 	);	$index++;      // 下面的方式怎么也不行, mysql_fetch_array不是返回的是数组吗?      // $result[$index]  =$row ;}


请大侠指点一下, PHP+JQUERY传递数据,如何最方便, JS端如何获取,谢谢。。。


回复讨论(解决方案)

$result[$index] = $row ;
为什么不行?只不过多出一倍的数据。并不影响使用

最后要echo json_encode($result);,js才能解释到啊。

楼上老大, 我echo json_encode($result);这行代码是有的。

JS如何读取, 能给个例子吗?

不是 js 如何读取,而是 js 需要的是什么样的数据
不能把困难留给别人

最后要echo json_encode($result);,js才能解释到啊。


我也是新学,请问你这句,应该是生成json吧?


最后要echo json_encode($result);,js才能解释到啊。


我也是新学,请问你这句,应该是生成json吧?


yes

$result[$index] =$row ; 这句也是可以的,你print_r($result); 就可以看到。只不过同时包含关联和索引数组。

php与JS传递数据当然是JSON最方便。你可以这样写:

while ( ($row = mysql_fetch_assoc ( $rs )) != false ) {
$result[] = $row;
}
echo json_encode($result);

然后在JS里就可以处理JSON了。

问题不是我代码问题,是中文问题,需要转换。。,一切都OK
$result = array();
while ( ($row = mysql_fetch_assoc( $rs )) != false ) {
$result[] = array("PK" => $row["PK"],
"NODE" => $row["NODE"],
"NAME" => iconv("gb2312", "utf-8", $row["NAME"])
);
}

echo json_encode ( $result );

人气教程排行