所以我有以下代码:
$sql="SELECT * FROM $tbl_name ORDER BY id DESC";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
$links = $rows['links'];
$linksArray = explode(',', $links);
if ($links == ""){
unset($linksArray);
}
?>
//LINK TO ACTIVATE POPUP BOX
<a href="#popup1">
<div class="newsBox">
<h2><?php echo $rows['title'] ?></h2>
<h4>Posted @ <?php echo $rows['date'] ?></h4>
<?php
if (!empty($linksArray)){
?>
<span><i>Links associated with this post:</i>
<? } ?>
<?php
foreach($linksArray as $link) {
?><a href="<? echo $link ?>">Here</a></span>
<?
}
?>
<div id="popup1" class="overlay">
<div class="popup">
<h2>Here i am</h2>
<a class="close" href="#">×</a>
<div class="content">
<?php echo $rows['news'] ?>
</div>
</div>
</div>
</div>
<br>
</a>
<?php
}
mysql_close();
?>
对于我的查询标识的每一行,它将它链接到一个弹出框。但是,所有输出的行都会激活同一个弹出框。我的问题是如何创建我的弹出框,以便输出的每一行都链接到不同的弹出框,如果这有意义的话。例如第一行,链接时会打开一个包含该行信息的弹出框。下一行之后,链接时会打开一个包含该行信息的弹出框,依此类推。 (我想也许像一个动态弹出框?)
最佳答案
在你的循环中添加一个计数器,你有你的 <a href="#popup1">
和 <div id="popup1" class="overlay">
添加计数器变量,如 <a href="#popup<?php echo $x ?>">
和 <div id="popup<?php echo $x ?>" class="overlay">
这将使您的弹出窗口 ID 独一无二。
关于javascript - 为 mySQL 中的每一行创建弹出框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59619033/