2017-09-04 24 views
0

所以我在過去兩天沒有找到我要找的東西。如何在PHP中使用多個變量時更改href?

要清楚我有一個表「軌道」在我的數據庫。 所以我可以從「軌道」顯示「演示」字段至極的音頻文件「URL」 ..

<?= $tracks['demo']; ?> 

我有多個URL的,但後來我需要更換A HREF

<a href="<?php echo $tracks['demo'];?>" 
以合理的方式提供

簡而言之,它就像我想點擊按鈕1,加載 url 1到這個具有來自該軌道的ID,標題字段的href。

當您按下按鈕2時,您需要加載另一個URL並用url2替換url 1。

我嘗試了很多方法,包括JavaScript,但它不會工作。

現在的問題是,當我列出4個項目時,它總是加載我在源代碼中發佈的最新「URL」。 :)

當我在所有項目上呼應<?php echo $tracks['demo]; ?>我可以看到正確的網址,因此替換網址的功能是我的問題。

*我基本上想在我的網站頁腳製作的播放器中加載很多mp3網址。它通過在URL字段硬編碼的網址,但這不是它應該是... *

代碼:

<?php while($tracks = mysqli_fetch_assoc($muziek)) : ?> 

    <div class="col-md-2 viny" id="muziek"> 
     <h4><?= $tracks['title']; ?></h4> 
     <img src="<?= $tracks['img']; ?>" 
     alt=" <?= $tracks['title']; ?> /> 
     <p class="artist">Artist: <?= $tracks['artist']; ?></p> 
    </div> 
    <?= $tracks['demo'] = $audiourl ; ?> 
    <button type="button" onclick="play">Play</button> 

</div> 
    <?php endwhile; ?> 

*這回線完美的所有項目TRACKS列出完美*

在我的球員,我有

<a href="<?php echo $audiourl;?>" ><?= $tracks['artist']; ?></b> - <?= $tracks['title']; ?></a> 

function play(){ 

我不擅長JS ......這是我的問題,因爲它現在加載從PHP循環最新輸出... }

+4

請添加您的代碼。你試過了什麼? – Jalpa

+0

請添加html + javascript + php代碼到目前爲止您嘗試過的。 –

+0

@frederick是通過ajax或服務器調用加載的url? – Gardezi

回答

1

我不知道你是如何取代它,但

爲什麼不通過音頻功能。這裏像這樣

<button type="button" onclick="play(<?= $tracks['demo'] = $audiourl ; ?>)">Play</button> 

分配一個ID來定位標記

<a id="someId" href="<?php echo $audiourl;?>" ><?= $tracks['artist']; ?></b> - <?= $tracks['title']; ?></a> 

,並在播放功能,您將收到像這樣

function play(audioUrl){ 

} 

,並在劇中改變href的這功能

如果您使用的是jquery

$('#someId').attr("href", audioUrl); 

有時上述不起作用。不記得爲什麼,但如果沒有作品試試這個

$('#someId').href = audioUrl 

如果您正在使用javascript

document.getElementById('abcd').href = audioUrl 
+0

嗯有趣時,我想要最好的解決方案來替換變量$ audiourl。沒有想過這件事。將嘗試;)謝謝! –

+0

到目前爲止,在我的調試器中,我看到了正確的url加載功能。所以我快到了。十分感謝。 –

+0

不客氣。如果這有助於你,你可以請接受它,如果有其他人有這個問題,他或她也可以得到幫助:) – Gardezi

0

所以,我想很多事情,但我和他們的球員很多問題它的js文件使用相同的ID等等。

我嘗試了新的邏輯似乎工作:

<form action="" method="POST"> 
      <input type="submit" value="Play" name="Play"> 
      </form> 


      <?php 

      if (isset($_POST["Play"])) 
      { 

       echo $tracks['demo']; 
      }else{ 
      echo '&nbsp;'; 
      } 
      ?> 

還有更多的事情,但我試圖把它寫下來這麼簡單,因爲這顯示了邏輯。所有曲目網址都是隱藏的,當頁面加載時,默認情況下會有一個空的$ audiourl加載到我的音頻播放器的href中。通過點擊按鈕播放,我在源中顯示網址,但不在網站上顯示。 然後最新的$ audiourl變量變成這個值。