如何在 javascript 中循环获取 php

How to get php while loop inside javascript

我正在努力解决这个问题。

我有一个 php 文件和一个 javascript while.

我的 php 文件如下所示:

<?php
$sql = "SELECT * FROM flats";
$result = $conn->query($sql);

if ($result->num_rows > 0) 
// output data of each row
while($row = $result->fetch_assoc()) {  
$flat_id = $row["flat_id"];                 
$price = $row["price"];                     
$address = $row["address"];
$bedrooms = $row["bedroom"];
$maxguests = $row["maxguests"];
$area = $row["area"];
$lat = $row["lat"];
$lng = $row["lng"];

$map_flats = "{
    title : 'Property',
    image : '1-1-thmb.png',
    type : 'For Sale',
    price : '$price',
    address : '$address',
    bedrooms : '$bedrooms',
    bathrooms : '$maxguests',
    area : '$area',
    position : {
        lat : $lat,
        lng : $lng
    },
    markerIcon : 'marker-green.png'
},";



echo $map_flats;


    }}

 else {
    echo "0 results";
}

$conn->close();
?>

而且我想在js里面显示$map_flats的内容

var flats = [$map_flats];

你能帮我解决一下吗?

提前致谢,

Tibor.

JavaScript 需要 JSON 格式的结构,并且需要 echoed 到输出。像这样:

var flats = <?php echo json_encode($map_flats); ?>;

尽管看起来您的 $map_flats 并不是 实际上 一个 PHP 对象,而是一个已经格式化的 JSON 字符串?在服务器端代码中使用 PHP 对象和在客户端代码中使用 JSON 对象可能会更容易,但是如果您 不需要 JSON-编码输出然后你可以按原样回显它:

var flats = <?php echo $map_flats; ?>;