我有一个应用程序的管理面板。对于此管理面板,管理员可以选择从下拉列表中选择用户。选择用户后,我将使用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>
答案 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!