PHP:获取数据库中多行的变量
PHP: getting variables for many rows in a databse
我正在尝试使用Javascript将保存在数据库中的PHP变量ID发送到显示谷歌地图标记的页面。我创建了一个列表来显示在PHP/HTML:中点击地图标记时显示的内容
$result = mysqli_query($con,"SELECT * FROM places");
while($row = mysqli_fetch_array($result))
{
echo "<div class='place-details' id='place-details' style='display: none'>";
echo "<table class='table'>";
echo "<tr><th>Name: </th><td>" . $row['name'] . "</td></tr>";
echo "<tr><th>Details: </th><td>" . $row['description'] . "</td></tr>";
echo"</table>";
echo "<td><a href='details.php?id=".$row['id']."' class='btn btn-warning btn-sm'>View</a></td></div>";
}
在Javascript中,我使用clone()在每个标记中显示这个列表:
var places = $("#place-details").clone().show();
google.maps.event.addListener(markers[i], "click", function () {
infowindow.setContent(places[0]);
infowindow.open(map, markers[i]);
map.setCenter(marker.getPosition());
map.setZoom(10);
});
"id"是自动创建的,它是一个具有自动增量的唯一密钥。问题是,当页面加载并单击事件标记时,它们都显示第一行id中的数据,而不是每个人自己的id,因此只显示保存在第一行中的信息。
更新:
for (var i in markers)
{
markers[i].setMap(null);
}
markers[i] = marker;
这一切都在功能内部:
place_info.parseData = function(data)
{
......
}
您只使用places[0]
。var places
是一个元素数组,因此,必须循环遍历这些元素。我假设var i
是从循环中生成的,请尝试setContent(places[i]);
。
在循环中使用places.length
作为上限可能是更好的途径。
将相同的id
属性放在多个元素上也是不好的做法。使用CSS类和相应的选择器来引用共享公共内容或属性的多个元素。
相关文章:
- 从javascript变量获取php会话
- 是否将Javascript变量保存为PHP变量?获取、发布、COOKIE
- 从动态变量获取数组
- PHP 和 Javascript:使用 Javascript 变量获取文件内容
- 如何从 php 变量获取值到我们的 javascript 文件中
- 从 javascript 变量获取 InnerHtml
- 如何使用此变量获取 typeahead.js 中输入的 id
- 使用参数变量获取传递给 ES6 箭头函数的参数
- 如何将此值作为变量获取
- Javascript-使用一个变量获取数组的一部分
- 无法使用AJAX将JS变量获取到PHP
- 从angularjs中的变量获取数据
- 使用jquery中的变量获取字段值
- 将变量获取到url并导航选定的变量
- 将Struts2 valuestack变量获取到JQuery
- Javascript-使用变量获取对象值
- 为每个变量获取一个新的随机数
- 从JavaScript中的第二个变量获取名为的变量的值
- 使用变量获取 JavaScript 值
- HTML选择列表-通过传递变量获取文本值