将数据从php mysql传递到同一页面上的弹出窗口

将数据从php mysql传递到同一页面上的弹出窗口,php,mysql,Php,Mysql,我在php while循环中有一个链接 echo "<a href = '#$product_id' onclick = 'pop_up()' id = 'linker'>See more</a>"; echo”“; 弹出窗口需要产品id来搜索数据库,但哈希标记是客户端的。我尝试使用javascript window.location.hash,但结果不太可靠 是否有人知道在调用弹出窗口、获取产品id、使用它查询数据库并在弹出窗口中输出时,我可以使用服务器端的方法来

我在php while循环中有一个链接

echo "<a href = '#$product_id' onclick = 'pop_up()' id = 'linker'>See more</a>"; 
echo”“;
弹出窗口需要产品id来搜索数据库,但哈希标记是客户端的。我尝试使用javascript window.location.hash,但结果不太可靠

是否有人知道在调用弹出窗口、获取产品id、使用它查询数据库并在弹出窗口中输出时,我可以使用服务器端的方法来保留活动的产品id


我已经开始了一次治疗,并且与另一种情况有关。 我试图直接从弹出窗口调用产品id,但由于循环,我只能得到数组中的第一个或最后一个

<?
while ($i < $num) {
$product_id=mysql_result($result,$i,"prod_id");
$title=mysql_result($result,$i,"lTitle");
//main page
echo "<b>" , $title;
echo "<a href = '#$product_id' onclick = 'pop_up()' id = 'linker'>See more</a>";
?>

<!------pop up--------->
<script type="text/javascript">
function pop_up(){
   document.getElementById('pop').style.display='block';
}
</script>

<div id="pop">
<p style='color:#6F0A0A; font-size:15px;'><? echo $product_id; ?></p>
</div>

<?
 $i++;
}   
?>

函数弹出(){
document.getElementById('pop').style.display='block';
}


好的,您可以首先加载所有这些记录并将它们放入弹出内容中,或者,发出ajax请求,打开弹出窗口,当请求成功完成时,将返回的值放入弹出内容中。使用JQuery更好,我会尝试回答,但老实说,这个问题非常模糊,代码有点凌乱

首先,您可以简单地将product_id作为GET变量发送到新的弹出窗口,并用PHP读取它。类似这样的方法会奏效:

    echo "<a href = 'http://www.mydomain.com/popup.php?product_id=$product_id' onclick="window.open(this.href, 'popup_win',
'left=100,top=100,width=500,height=500,toolbar=1,resizable=0'); return false;" id = 'linker' >See more</a>";
现在您已经知道$product\u id,然后执行您想要的任何MySQL查询


我希望这会有所帮助,如果这不是你的意思,请添加更多详细信息,以便我可以修改我的答案。

到目前为止你尝试了什么?你可能可以利用我已经有一个会话在不同的条件下围绕该代码启动和停止。仅供参考,
mysql
扩展是;您现在应该使用mysqli。@EmmyS最好使用PDO。谢谢您的建议。我想找到解决方案最困难的部分之一是理解问题本身,因此,我可能问了错误的问题,但你的解决方案给了我一些线索,我会在我整理好它后将其张贴出来。很高兴能提供帮助。请发布您的解决方案,并在您找到答案后标记正确答案。我最终选择使用您的解决方案,因为解决我的问题可能需要一段时间,而且我没有时间。谢谢你的提示。谢谢你的回复。我问的问题有点模棱两可。主要内容显示为数据库中的缩略图,用户可以选择查看其中任何内容的更多详细信息。弹出窗口将根据用户的选择激活。我正在尝试一些基于Yani建议的事情,因为我真正需要的是将产品id从主页上放到弹出窗口中。好的。使用HTML5,您可以在html标记中插入自定义属性。我不知道我是否真的理解了你的问题,但是,在标签中插入产品id,如
,然后使用.data()方法通过jquery获取产品id,最后发送一个带有产品id的ajax请求。当你得到响应时,打开包含所有产品信息的弹出窗口并显示你想要的内容。
$product_id = $_GET['product_id'];