首页 > 解决方案 > 如何在 if 语句中访问数组?

问题描述

我有一个应用程序的管理面板。对于此管理面板,管理员可以选择从下拉列表中选择用户。当用户被选中时,我使用 AJAX 调用来获取用户数据并将其存储在一个名为$result. 现在,当我尝试$result在我的 HTML 文件中的 if 语句之外访问时,它无法识别。我可以通过哪些方式访问此变量?

HTML 文件(AJAX 调用)

$(document).ready(function(){

$('#user').change(function() {

    var user_id = $(this).val();

    $.ajax({

            url: 'adminNew.php',
            method:'POST',
            data: {user_id : user_id},
            success: function(data) {

                alert(user_id);

            }
    });
  });
});

php文件(if语句)

if (isset($_POST["user_id"])) {

    if ($_POST["user_id"] != '') {
        $sql = "SELECT * FROM user_data WHERE user_id ='".$_POST["user_id"]."'";
    }

    $result = mysqli_query($connect, $sql);

} 

HTML 文件(表格)

<tr>
<tbody id="expBody">
       <?php
        if ($result != ''){
        while($row1 = mysqli_fetch_array($result)) {
        echo '
                 <tr id = '.$row1["id"].'>
                 <td> '.$row1['user_id'].'</td>
                 <td> '.$row1['name'].'</td>
                 <td> '.$row1['email'].'</td>
                 <td> '.$row1['city'].'</td>    
                 <td> '.$row1['state'].'</td>
                 <td> '.$row1['zip'].'</td>


        ';
        }
      }

    ?>
</tbody>
</tr>

标签: javascriptphphtmlajaxscope

解决方案


您可以通过 jquery 将新表加载到您的#expBody 中:

$('#user').change(function() {
    var user_id = $(this).val();
    $("#expBody").load("yourphpfile.php?userid="+userid);
});

在您的 phpfile 中,您实际上是根据结果“制作”表格。

<?php
        $userid = $_GET["userid"];

        // make your db query

        if ($result != ''){
        while($row1 = mysqli_fetch_array($result)) {
        echo '
                 <tr id = '.$row1["id"].'>
                 <td> '.$row1['user_id'].'</td>
                 <td> '.$row1['name'].'</td>
                 <td> '.$row1['email'].'</td>
                 <td> '.$row1['city'].'</td>    
                 <td> '.$row1['state'].'</td>
                 <td> '.$row1['zip'].'</td>


        ';
        }
      }

    ?>

这样,这张表将被放入您的 div 中!


推荐阅读