【发布时间】:2021-04-11 03:28:18
【问题描述】:
这是我的问题的背景信息:我正在从 SQL 表中选择数据,该表具有“ID (osm_id)”、“名称”和“坐标(方式)”列,每个列约有 300 个条目。我有一个下拉菜单可以显示所有可能的酒吧名称(它们在“名称”列中)。
现在我想获取所选酒吧的 坐标 并将它们显示在页面上。 到目前为止,这是我的代码:
<?php
...
$query = "SELECT osm_id, name, ST_asText(ST_transform(way,4326)) FROM planet_osm_polygon WHERE amenity LIKE 'pub' ORDER BY name ASC;";
$result = pg_query($query) or die("Query error: " . pg_last_error());
?>
<select id="pub_select" name="pub_select" size="1">
<option value="">--- Select a Pub ---</option>
<?php
$options='';
while($line = pg_fetch_row($result))
{
$pub_id = $line[0];
$pub_names = $line[1];
$way_coords = $line[2];
$options.="<option value='" . $pub_names . "'>$pub_names</option>";
echo $options;
}
pg_free_result($result);
pg_close($dbconn);
?>
</select>
<input type="submit" name="submit" value="Get building coordinates" />
我的导师建议我可以使用:
<select id="pub_select" name="pub_select" size="1" onchange="getMoreInfo()">
并调用函数getMoreInfo() 以进行详细查询(Pub ID -> Pub 坐标)并使用pub_select = document.getElementById('pub_select'); 作为我的 php 代码的 Javascript/Ajax-Call 中的 ID,并基本上使用 ID 过滤到获取坐标。但我不知道该怎么做:/
编辑: 所以,基本上我的问题是:我有一个数据库表,我从下拉菜单中选择一个酒吧。如何从同一张表中获取更多信息,例如对应列中的坐标。
【问题讨论】:
-
您尝试过什么来使其正常工作?有大量的教程告诉你如何开始使用 AJAX。如果您想避免 AJAX,请将坐标存储为数据属性,或以任何其他格式存储在您的标记中
标签: javascript php sql database