使用PHP-MySQLi的JavaScript

使用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 = '??'"); ?>

我正在尝试制作一种“弹出式”窗口,以显示我单击的用户

HTML代码:

<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;