我试图在我的PHP代码中在以下代码的JavaScript函数中获取JavaScript变量“i”,我发现在检索记录时出现问题,无论是第一条记录还是最后一条记录重复而不是数据库中的所有记录..可以你帮帮我了吗? 谢谢
<?php
$query21 = $mysqli->query("SELECT * FROM register");
$nr = mysqli_num_rows($query21);
while ($row = mysqli_fetch_assoc($query21)) {
$results[] = $row;
}
?>
<script language="javascript" type="text/javascript">
var intervalID = 0;
var time = 10;
MsgPop.displaySmall = true;
MsgPop.position = "bottom-right";
$(document).ready(function(){
var test = MsgPop.open({
Type: "success",
AutoClose: true,
Content: "Welcome to MsgPop!"});
MsgPop.live();
});
function showMessages(){
var n = '<?php
echo $nr;
?>';
var i = 0;
while (i < n){
var name = '<?php
echo $results[i]['name'];
?>';
MsgPop.open({
Type: "success",
Content: name,
AutoClose: false});
i++;
}
</script>
答案 0 :(得分:0)
不可能:PHP是一种仅在服务器上运行的服务器端语言。但javascript是一个客户端脚本,它只在您的浏览器上运行。 Php只根据您的要求给出响应。 php的卷在服务器端结束。但javascript只能与您的响应一起使用,即javascript只能在浏览器上运行。
答案 1 :(得分:0)
您可以尝试使用AJAX,否则它不会发生。就像说PHP只是服务器端......祝你好运!
答案 2 :(得分:0)
PHP无法获取javascript变量。你应该尝试另一种策略。
在服务器端(PHP),尝试将$ resuts存储在javascript变量中。
var results = '<?php echo json_encode($results); ?>';
然后在浏览器端尝试使用javascript函数访问数据。
var name = results[i]['name'];
答案 3 :(得分:0)
首先,你必须创建一个返回相同数组的php文件。文件包含
$query21 = $mysqli->query("SELECT * FROM register");
$nr = mysqli_num_rows($query21);
while ($row = mysqli_fetch_assoc($query21)) {
$results[] = $row;
}
echo json_encode($results);
exit;
现在你必须使用javascript代码中的ajax调用此文件。
$.ajax({
type: "POST",
url: "sql.php", //your file url
})
.done(function (data) {
//you get your array data(json format)
});
现在你以json格式在ajax响应中获取该数组,你可以对这些数据做任何事情。