欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP数组和JS交互问题

程序员文章站 2024-01-28 17:48:22
...
小弟初学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 );