Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注释栏mysql php和ajax_Php_Mysql_Ajax_Json_Apache - Fatal编程技术网

注释栏mysql php和ajax

注释栏mysql php和ajax,php,mysql,ajax,json,apache,Php,Mysql,Ajax,Json,Apache,我正在尝试使用PHP、AJAX、MySQL和json编码创建一个简单的注释栏 我有两个用php编写的文件,第一个是控制器,代码如下: <?php require("../includes/config.php"); if ($_SERVER["REQUEST_METHOD"] == "GET") { $comments = query("SELECT comments.comment, comments.author, comments.time FROM

我正在尝试使用PHP、AJAX、MySQL和json编码创建一个简单的注释栏

我有两个用php编写的文件,第一个是控制器,代码如下:

<?php
    require("../includes/config.php");
    if ($_SERVER["REQUEST_METHOD"] == "GET") {

        $comments = query("SELECT comments.comment, comments.author, comments.time FROM comments WHERE workid = ?", $_GET["workid"]);
        echo json_encode($comments);

    }
    else if ($_SERVER["REQUEST_METHOD"] == "POST") {
        if (empty($_SESSION["userid"])) {
            throw new Exception("Login");
        }
        else {

        $result = query("INSERT INTO comments (comment, author, time, workid) VALUES(?, ?, ?, ?)", $_POST["text"], $_SESSION["userid"], date("Y-m-d H-i-s"), $_POST["workid"]);
        if ($result !== false) {
            echo "success";
        }
        }


    }

?>

第二个是根据来自控制器的数据显示MySQL的记录:

<script>
//loads the comments
$(document).ready(function(){
    var comment;
    $.ajax({
        type: "GET",
        url: "../html/comments.php",
        data: {
            workid: <?php echo $id;?>
        },
        dataType: "json",
        success: function(e) {
            var lis = "";
            for (var i = 0; i < e.length; i++) {
                comment = e[i];
                lis +=

                "<li class='comment'>" + 
                "<div class='well'>" +
                "<p>" + 
                "<a class='username' href='#'>" + comments.author + ": " + "</a>" +
                comments.comment + 


                "</p>" + 

                "<small class='pull-right'>" + comments.time + "</small>" +

                "</div>" + 

                "</li>";



            }
            $("#comments").html(lis);

        },
        error: function(e) {
            $("#comments").html(
                "<li class='comment'> Couldn't load comments </li>"
                );
        }

    });
});
</script>

<script>
$(document).ready(function(){
    $("#comment-button").click(function(){

        $.ajax({
            type: "POST",
            url: "../html/comments.php",
            data: {
                workid: <?php echo $id;?>,
                text: $("#comment-textarea").val()
            },
            dataType: "text",
            success: function(e) {
                var comment;
                $.ajax({
                    type: "GET",
                    url: "../html/comments.php",
                    data: {
                        workid: <?php echo $id;?>
                    },
                    dataType: "json",
                    success: function(e) {
                        var lis = "";
                        for (var i = 0; i < e.length; i++) {
                            comment = e[i];

                            lis +=

                            "<li class='comment'>" + 
                            "<div class='well'>" +
                            "<p>" + 
                            "<a class='username' href='#'>" + comments.author + ": " + "</a>" +
                            comments.domment + 


                            "</p>" + 

                            "<small class='pull-right'>" + comments.time + "</small>" +

                            "</div>" + 

                            "</li>";



                        }
                        $("#comments").html(lis);
                        $("#comment-textarea").val("");

                    },
                    error: function(e) {
                        $("#comments").html(
                            "<li class='comment'> Couldn't load comments </li>"
                            );
                    }

                });
            }


        });


});
});
</script>

//加载注释
$(文档).ready(函数(){
var评价;
$.ajax({
键入:“获取”,
url:“../html/comments.php”,
数据:{
工作ID:
},
数据类型:“json”,
成功:职能(e){
var lis=“”;
对于(变量i=0;i”+
"" +
“”+
"" +
comments.comment+
“

”+ “”+注释。时间+“”+ "" + “”; } $(“#评论”).html(lis); }, 错误:函数(e){ $(“#注释”).html( “
  • 无法加载评论” ); } }); }); $(文档).ready(函数(){ $(“#注释按钮”)。单击(函数(){ $.ajax({ 类型:“POST”, url:“../html/comments.php”, 数据:{ 工作ID:, 文本:$(“#注释文本区域”).val() }, 数据类型:“文本”, 成功:职能(e){ var评价; $.ajax({ 键入:“获取”, url:“../html/comments.php”, 数据:{ 工作ID: }, 数据类型:“json”, 成功:职能(e){ var lis=“”; 对于(变量i=0;i”+ "" + “”+ "" + comments.doment+ “

    ”+ “”+注释。时间+“”+ "" + “
  • ”; } $(“#评论”).html(lis); $(“#注释文本区域”).val(“”); }, 错误:函数(e){ $(“#注释”).html( “
  • 无法加载评论” ); } }); } }); }); });

  • 除了最后一步,一切都很顺利;显示数据库中的数据时,唯一显示的是语句“undefined”,而不是corect数据。除此之外,注释量和表单显示正确。我使用的是安装了php的Apache服务器。

    在JavaScript代码中,您需要将
    注释替换为
    注释。
    ,因为
    注释在JaveScript中确实是一个未定义的对象。

    代码是PDO吗?是的,是的。PDO也已启用。请给我们提供方法/函数查询()的代码@jakubedclacek:您尝试过我的建议吗?有效吗?-1表示没有回复@ExpertSystem,1表示他们的答案。