2

我需要一个ajax脚本来检查数据库中是否有数据条目,并在页面上为每个条目显示通知。我希望向查看该页面的每个用户显示通知。

我尝试了以下方法,但没有提供所需的输出:

main.html

<html>
<head>
  <script type='text/javascript' src='ajx.js'></script>
</head>
</html>

流行音乐

<?php
try{
    $con=mysql_connect("localhost:3306", "root", "") or die(mysql_error()) ;  
    $q = mysql_query("SELECT `user`.`name`,`user`.`page` FROM `people`.`user` ORDER BY `user`.`index` DESC",$con);

    if(!$q)
    {
    throw new Exception('Uncaught Exception occurred');
     }
}
catch(Exception $e)
{
Echo "";
}

$results = mysql_fetch_assoc($q);


echo json_encode($results);
?>

ajx.js

$.ajax({
url: "pop.php",
dataType: "json",
success: function(json){
    var dataArray = JSON.decode(json);
    dataArray.each(function(entry){
        alert(entry.name);
    }
}
});

当我加载 main.html 时我没有得到结果。我认为需要一些语句来打印结果。

4

2 回答 2

1

我查看了您的代码并进行了一些修改。这是我使用的在我的系统上使用的测试数据库的确切代码:(您需要根据您的系统环境对其进行调整)

主.html:

<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type='text/javascript' src='ajx.js'></script>
</head>
<body>
    Your body content in here...
</body>
</html>

流行音乐:

<?php
include __DIR__.'/include/Configurations.php';
include __DIR__.'/include/DatabaseConnect.php';

global $databaseConnection;

try{
    $q = mysql_query("SELECT name, page FROM users", $databaseConnection);

    if(!$q)
    {
    throw new Exception('Uncaught Exception occurred');
    }
}
catch(Exception $e)
{
Echo "";
}

$results = Array();
$i = 0;

while ($row = mysql_fetch_assoc($q))
{
    $results[$i] = $row;
    $i++;
}

echo json_encode($results);
?>

ajx.js:

$(document).ready(function(){
    $.ajax({
        url: "pop.php",
        dataType: "json",
        success: function(json){
            var i;
            for(i=0; i<json.length; i++)
            {
                alert(json[i].name);
            }
        }
    });
});

当您将它集成到您​​的实际项目中时,您只需将 alert() 函数替换为您想要的任何逻辑和输出方法,以便在页面上正确获取内容。让我知道这对你有什么好处,或者我还有什么可以帮助的。

于 2012-09-25T14:35:51.990 回答
1

您想澄清该脚本的哪个特定方面的写作?您是否有关于您可能遇到问题的具体问题?

你可以使用这样的东西:

PHP 文件:(get_notifications.php)

$q = /*your query to database*/
$query = mysql_query($q, $dbConnect);
$results = mysql_fetch_assoc($query);
echo json_encode($results);

Javascript 文件:

$.ajax({
    url: "get_notifications.php",
    dataType: "json",
    success: function(json){
        var dataArray = JSON.decode(json);
        dataArray.each(function(entry){
            alert(entry.valueName);
        }
    }
});

在 javascript 文件中,“valueName”指的是您要输出的数据键。例如,如果您“从人员中选择姓名”,并且您想输出他们的姓名,则应为 entry.name。您还可以将警报替换为附加或其他内容,以将数据放入 div 或页面上。

如果您需要对这些部分中的任何部分进行进一步说明,请告诉我。这应该能给你一个很好的开始。希望能帮助到你。

澄清: 您的页面加载的文件应该只包含您的布局和 HTML 以及包含您的 js 的脚本标记。

然后你的 ajax 调用的 php 应该在一个由 Ajax 调用的单独文件中,而不是包含在正在加载的页面中。希望这是有道理的。

于 2012-09-21T19:05:53.900 回答