所以我有一个从数据库中获取坐标的php,我希望它通过jquery变量运行。 这是PHP -
$sql = "SQL that works";
$vari = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($loc))
{echo "[";
echo "''";
echo $row['cor1'];
echo ",";
echo $row['cor2'];
echo "]";
}
这是我希望它以这种形式传递的jquery -
var markers = [
['', 51.503454,-0.119562],
['', 51.499633,-0.124755]
];
答案 0 :(得分:2)
实际上你必须改变你的PHP代码,如下所示: -
$sql = "SQL that works";
$vari = mysqli_query($con,$sql);
$data = array(); //create an rray variable
while($row = mysqli_fetch_assoc($loc)){ // use assoc for lighter $row array
$data[] = array('',$row['cor1'],$row['cor2']); // create sub-array and assign to final array
}
echo json_encode($data); //return final data to ajax
注意: - 现在通过parseJSON()
在你的jQuery中解码这个json并做进一步的代码。
答案 1 :(得分:0)
如果你不想使用ajax,你可以这样做。
对于PHP,
...
$vari = mysqli_query($con,$sql);
$coOrds = mysqli_fetch_array($loc);
$coOrds = json_encode($coOrds);
?>
对于JS,
var coOrdsJson = <?php echo $coOrds; ?>;
var coOrds = $.parseJSON(coOrdsJson);
var markersArr = [];
for (var i=0; i < coOrds.length; i++ ) {
markersArr[] = "['', " + coOrds[i].cor1 + ", " + coOrds[i].cor2 + "]";
}
var markers = markersArr.join(',');
markers = "[" + markers + "]";