Rumah >pembangunan bahagian belakang >tutorial php >PHP数组和JS交互问题
小弟初学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 ;}
$result[$index] = $row ;
为什么不行?只不过多出一倍的数据。并不影响使用
最后要echo json_encode($result);,js才能解释到啊。
楼上老大, 我echo json_encode($result);这行代码是有的。
JS如何读取, 能给个例子吗?
不是 js 如何读取,而是 js 需要的是什么样的数据
不能把困难留给别人
最后要echo json_encode($result);,js才能解释到啊。
最后要echo json_encode($result);,js才能解释到啊。
$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 );