如何在if语句中访问数组?

时间:2018-07-18 16:10:07

标签: javascript php html ajax scope

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

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

2 个答案:

答案 0 :(得分:0)

您的PHP代码需要将一些内容发送回ajax请求

我以前见过这样的事情

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);
    echo $result;
    die;
} 

答案 1 :(得分:0)

您可以通过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!