使用PHP-MySQLi的JavaScript
我正在尝试制作一种“弹出式”窗口,以显示我单击的用户 HTML代码:使用PHP-MySQLi的JavaScript,javascript,php,mysqli,Javascript,Php,Mysqli,我正在尝试制作一种“弹出式”窗口,以显示我单击的用户 HTML代码: <div onclick="showUser(ID)" id="userBox"><?php echo $username; ?></div> 用户信息显示框: <div id="userShowBox"> <?php $showuserinfo->mysqli_query("SELECT * FROM users WHERE id = '??'"); ?>
<div onclick="showUser(ID)" id="userBox"><?php echo $username; ?></div>
用户信息显示框:
<div id="userShowBox">
<?php $showuserinfo->mysqli_query("SELECT * FROM users WHERE id = '??'"); ?>
</div>
为了让您理解,添加更多信息,JS作为客户端执行,PHP作为服务器端执行,您不能直接“连接”PHP和JS,我看到两种不同的方法来实现您想要的
加载页面时加载用户ID(使用PHP mysqli查询),并隐藏ID以等待用户输入
HTML
当用户单击元素时,使用Ajax调用动态地检索使用ID,考虑使用诸如jQuery这样的库来简化进程
HTML
getID.php
/* username is in $_GET['username'] */
mysqli_query("SELECT user_id FROM users WHERE username = '??'");
......
/* this will 'return' userid to the ajax call */
echo $userID;
首先:将与数据库相关的PHP代码与标记混合在一起是不好的做法。第二:你不能把PHP和javascript混为一谈。您可以在javascript中“插入”PHP,一旦将其发送到浏览器,就会对其进行解释(浏览器不理解PHP)。如果您想从javascript发送一些东西到PHP并得到答案,您需要AJAX之类的东西。有关信息,请参见:(它还包含一个示例)。
<div onclick="showUser()" id="userBox" style="display:none"><?php /* mysqli_query("SELECT * FROM users WHERE id = '??'")*/ ?></div>
function showUser() {
document.getElementById('userShowBox').style.display ='block';
}
<div onclick="showUser(<?php echo $username?>)" id="userBox"></div>
function showUser(userName) {
$.ajax({
url : 'getID.php',
type : 'GET',
data : "username="+userName,
dataType : 'html', // On désire recevoir du HTML
success : function(data, statut)
{
document.getElementById('userShowBox').html(data);
}
});
}
/* username is in $_GET['username'] */
mysqli_query("SELECT user_id FROM users WHERE username = '??'");
......
/* this will 'return' userid to the ajax call */
echo $userID;