这种事情的新手。
基本上我只想要返回的url值(见下文)将自己显示为超链接。 " URL"是数据库中包含(显然)网站URL的列的名称。
以前我会用过这样的东西:
echo "<a href=".$row['url'].">".$row['url']."</a>";
但是我不确定这个语境中的语法。以下是代码片段:
function createMarker(latlng, venuename, url, address, phone) {
var html = "<b>" + venuename +
"</b> <br/>" + url +
"</b> <br/>" + address +
"</b> <br/>" + phone;
var marker = new google.maps.Marker({
map: map,
position: latlng
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
markers.push(marker);
}
感谢。
答案 0 :(得分:1)
你的意思是你如何在php中传递一个数组,所以它为每个结果调用这个javascript函数并使url成为一个链接?如果是这样尝试这样的事情:
在你的页脚,window.load函数或你选择在页面加载后提供js的任何方式:
<script type="text/javascript">
<?php foreach($db_array AS $row): ?>
createMarker('<?php echo $row['latlng']; ?>', '<?php echo $row['venuename']; ?>', '<?php echo $row['url']; ?>', '<?php echo $row['address']; ?>', '<?php echo $row['phone']; ?>');
<?php endforeach; ?>
function createMarker(latlng, venuename, url, address, phone) {
var html = "<b>" + venuename +
"</b> <br/><a href=\"" + url + "\">" + url + "</a>" +
"</b> <br/>" + address +
"</b> <br/>" + phone;
var marker = new google.maps.Marker({
map: map,
position: latlng
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
markers.push(marker);
}
</script>
这假设您有一个名为$ db_array的数据库结果数组,并且这些字段与js函数的名称相同。显然你用实际值替换这些值。
答案 1 :(得分:0)
其中第一个是简单的php回显链接,后一个是用于创建google标记的javascript。你会想要决定你想做什么。它只是一个链接?或者创建一个标记?
你有一些html元素在javascript中不匹配。
对于此特定输出,您可以在函数之前添加:
var url = <?php echo $row['url']; ?>
但当然我不知道你想怎么循环它。