将数据从数据库加载到javascript对象
我的问题听起来很简单和原始,但我对Javascript完全陌生,我试图找到解决方案两天,但我没有找到任何东西。将数据从数据库加载到javascript对象
我正在建立一个网站,在页脚的地图。这与谷歌地图非常相似。我需要在那里添加一些标记,并且我想要自动完成 - 使用CMS。 我的CMS很简单。只需将表单的“标题”和“协调”插入到数据库表中。 该地图是用JavaScript代码编写的,有一个名为data
的对象。它包含每个标记的title
和coordinations
。
我的问题:我无法从我的数据库表中取数据并将它们插入javascript对象data = {}
。
这是应该看起来像。
var data = {
"title1": "coordinates1",
"title2": "coordinates2",
};
这是我如何从数据库中获取数据:
<?php
$sql="SELECT label,coordinates FROM map ORDER BY id";
if ($result=mysqli_query($conn,$sql))
{
while ($obj=mysqli_fetch_object($result))
{
printf("%s %s<br>\n",$obj->label,$obj->coordinates);
}
mysqli_free_result($result);
}
mysqli_close($conn);
?>
我会如此感激,如果你能帮助我!我通过寻找解决方案花了几十个小时。我厌倦了这一点。
假设您已经对您的PHP代码进行ajax调用,并且您只需要PHP帮助(您没有显示或询问Javascript,所以我没有解决这个问题)。而不是将结果显示为“纯文本”,而是使用JSON响应。 PHP有一个内置函数(json_encode()),它将数组转换为JSON编码的字符串。
<?php
$sql="SELECT label,coordinates FROM map ORDER BY id";
$resultArray = array();
if ($result=mysqli_query($conn,$sql))
{
while ($obj=mysqli_fetch_object($result))
{
$resultArray[$obj->label] = $obj->coordinates;
}
mysqli_free_result($result);
}
mysqli_close($conn);
echo json_encode($resultArray);
?>
是啊!它终于有效。你让我今天一整天都感觉很好!经过几次尝试,我意识到我需要的只是 - '$ resultArray [$ obj-> label] = $ obj->坐标;' –
你的后端代码从数据库中获取数据在哪里?你已经标记了PHP,所以我假设你有一些PHP。 –
查看PHP手册中的'json_encode()'和'json_decode()' – RiggsFolly
而http://www.json.org/如果JSON对你来说是新的 – RiggsFolly