Nowy do tego rodzaju rzeczy.

Zasadniczo chcę tylko zwracanej wartości URL (patrz poniżej), aby wyświetlić się jako hiperłącze. "URL" to nazwa kolumny w bazie danych zawierającej (oczywiście) adres URL witryny.

Wcześniej użyłem czegoś takiego:

echo "<a href=".$row['url'].">".$row['url']."</a>";

Ale nie jestem pewiennia składni w tym kontekście. Oto fragment kodu:

 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);
    }

Dzięki.

-1
Nick Simpson-Deeks 31 sierpień 2012, 06:06

2 odpowiedzi

Najlepsza odpowiedź

Czy masz na myśli, w jaki sposób przekazujesz tablicę w PHP, więc wywołuje tę funkcję JavaScript dla każdego wyniku i sprawia, że adres URL jest link? Jeśli tak, spróbuj czegoś takiego:

W stopce, w oknie

<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>

Zakłada, że masz tablicę wyników bazy danych o nazwie $ DB_ARRAY, a pola pasują do tych samych nazw, co funkcja JS. Oczywiście zastępujesz te wartości swoim rzeczywistym.

1
Kai Qing 31 sierpień 2012, 03:06

Pierwszy z nich jest prostym powiązaniem Eched PHP i późniejszy jest JavaScript do tworzenia Markera Google. Będziesz chciał zdecydować, co chcesz zrobić. Czy to po prostu link? lub utwórz marker?

I masz jakiś element HTML nie pasuje do JavaScript.

W przypadku tego konkretnego wyjścia możesz dodać to przed funkcją:

var url = <?php echo $row['url']; ?>

Ale oczywiście nie wiem, jak chcesz go pętli.

0
Moe Tsao 31 sierpień 2012, 02:22