我目前有一个系统,用mysqli查询生成一个用户列表,每个用户都会回显一个选择选项:
$result = mysqli_query($db, "SELECT * FROM `users` WHERE `user_id` > 0");
echo '<html><select id="contacts" onchange="announce(this.value)"><option value="Contact list">Contact List</option>';
while($row = $result->fetch_assoc()){
echo '<option value = '.$row['user_name'].'>'.$row['user_name'] . '</option>';
}
echo '</select>';
我需要做的是选择一个值,其中user
等于用此选择框选择的用户。所以,这就是为什么有这个JavaScript:
function announce(user_name){
document.getElementById("Divvy").innerHTML="<?php
$user='"+user_name+"';
if($user != 'Contact list'){
$result = mysqli_query($db, "SELECT `is_doing` FROM `users` WHERE `users`.`user_name` = '{$user}'");
while($row = $result->fetch_assoc()){
$doing = print_r($row);
}
echo $user.' is '.$doing;
}
?>";
}
除数据库查询之外的所有PHP工作,我很困惑,因为: 1)什么都没有回到$做 2)查询是(我很确定)正确 3)DIE(mysql_error());
没有显示错误我很感激有关如何使其发挥作用的一些帮助。
答案 0 :(得分:0)
刚看到错误 - 你没有逃避javascript strin(在引用之前使用双引号:&#34;在SELECT语句之前和查询完成之后)。
替换
$result = mysqli_query($db, "SELECT `is_doing` FROM `users` WHERE `users`.`user_name` = '{$user}'");
使用 一个
$result = mysqli_query($db, \"SELECT `is_doing` FROM `users` WHERE `users`.`user_name` = '{$user}'\");