从数据库添加超链接到查询结果

时间:2012-08-31 02:06:23

标签: php javascript mysql url href

这种事情的新手。

基本上我只想要返回的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);
    }

感谢。

2 个答案:

答案 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']; ?>

但当然我不知道你想怎么循环它。