[英]How to change a href when using multiple variables in PHP?
因此,我没有找到过去两天想要的东西。
为了清楚起见,我的数据库中有一个表“ tracks”。 因此,我可以从“曲目”中显示“演示”字段,该字段是音频文件“ URL”。
<?= $tracks['demo']; ?>
我有多个网址,但随后我需要替换a href
<a href="<?php echo $tracks['demo'];?>"
以合乎逻辑的方式
简单来说,这就像我要单击按钮1那样,将URL 1加载到带有该轨道的ID,标题字段的href中。
当您按下按钮2时,您需要加载另一个URL并将URL 1替换为url2。
我尝试了包括javascript在内的多种方法,但无法正常工作。
现在的问题是,当我列出4个项目时,它总是加载我在源代码中发布的最新“ URL”。 :)
当我回声<?php echo $tracks['demo]; ?>
<?php echo $tracks['demo]; ?>
在所有项目上,我都能看到正确的网址,因此替换网址的功能是我的问题。
*我基本上想在我的网站页脚中创建的播放器中加载许多mp3网址。 它通过对url字段中的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; ?>
*此项目对所有项目的跟踪都是完美的*
在我的播放器中
<a href="<?php echo $audiourl;?>" ><?= $tracks['artist']; ?></b> - <?= $tracks['title']; ?></a>
function play(){
我不太擅长JS ...这是我的问题,因为它现在从php循环加载最新的输出...}
我不知道你要怎么替换
为什么不通过功能传递音频。 像这样
<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
因此,我尝试了很多事情,但使用相同ID的播放器(js文件)存在很多问题,依此类推。
我尝试过的新逻辑似乎有效:
<form action="" method="POST">
<input type="submit" value="Play" name="Play">
</form>
<?php
if (isset($_POST["Play"]))
{
echo $tracks['demo'];
}else{
echo ' ';
}
?>
还有更多的事情要做,但我试图将其编写得如此简单以显示其逻辑。 所有Track网址都被隐藏,并且在加载页面时,默认情况下,我的音频播放器的href中会加载一个空的$ audiourl。 通过单击“播放”按钮,我在源中显示URL,但不在网站上显示URL。 然后,最新的$ audiourl变量将更改为此值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.