使用jQuery、PHP和MySQL对Wordpress$wpdb->;进行Ajax分页;得到结果

使用jQuery、PHP和MySQL对Wordpress$wpdb->;进行Ajax分页;得到结果,php,jquery,mysql,ajax,wordpress,Php,Jquery,Mysql,Ajax,Wordpress,我已经为我的测验创建了一个排行榜,并且有一个自定义的Wordpress表格,在那里我使用$wpdb->get_results。 在排行榜中,我想显示“分数”、“奖牌”和“显示姓名”。 我正在尝试使用AJAX循环遍历数组,并将其显示在排行榜上,就像分页一样,以显示用户的结果(分数)。 以下是我到目前为止的情况 排行榜(带脚本:) 测验中的所有问题都在同一页上,结果页最后显示用户的所有分数。 我就是不能让它工作。 任何帮助都将不胜感激。如果您需要更多信息,请告诉我。首先,您应该了解如何正确使用wor

我已经为我的测验创建了一个排行榜,并且有一个自定义的Wordpress表格,在那里我使用$wpdb->get_results。 在排行榜中,我想显示“分数”、“奖牌”和“显示姓名”。 我正在尝试使用AJAX循环遍历数组,并将其显示在排行榜上,就像分页一样,以显示用户的结果(分数)。 以下是我到目前为止的情况

排行榜(带脚本:)

测验中的所有问题都在同一页上,结果页最后显示用户的所有分数。 我就是不能让它工作。
任何帮助都将不胜感激。如果您需要更多信息,请告诉我。

首先,您应该了解如何正确使用wordpress中的ajax。也许从这里开始,或者谢谢你。我现在正在调查。那么,我该如何对数据库中的所有数组进行分页呢?您想对帖子进行分页,或者更像是一个无限卷轴?基本上,我需要显示数据库中的数组列表,其中包含每个用户的分数、奖牌和显示名称。就像排行榜我的建议是。。。重新开始。。。更新您的ajax函数以实际工作并返回一些内容。。。通过使用wordpress方式的ajax实现这一点,然后显示更新的php函数和jquery(ajax)。现在,您的php不会返回或回显任何内容。
            <div id="result" class='row col-12' style='padding-top: 90px; '>
         
                    <div class='card-group'>
                        <div class='card'>
                            <div class='card-body'>
                                <h5 class='card-title bg-info text-white'>Weekly Leaderboard</h5>

                                <div id="leader_board">

                                    <?php for ($i = 0; $i <= count($display_result); $i++) { ?>
                                    <div class="card-text-page" id="card-text-page1">
                                        <div class='card-text border'>
                                            <div class='leader-detail'>

                                                <div class='leader-username'>
                                                    
                                                    <?= $display_result[$i]['display_name']; ?>

                                                </div>
                                                <div class='leader-score'>
                                                    <p><?= $display_result[$i]['score'] ?>%</p>
                                                </div>
                                            </div>
                                            <div class='leader-medal'>
                                                <?= $display_result[$i]['medal'] ?>
                                            </div>
                                        </div>
                                    </div>

                                    
                                    <?php } ?>

                                    <div id="tota_page_div">
                                        <?php
                                        for ($i = 1; $i <= $currentPage; $i++) {
                                            echo "<input type='button' value='" . $i . "' onclick='get_data(" . $i . ")'>";
                                        }
                                        ?>
                                    </div>
                                </div>
                            </div>


                        </div>
                    </div>
                </div>


            <script>
                $(document).ready(function() {

                    function get_data(no) {
                         $.ajax({
                            type: 'post',
                             url: '/quiz.php',
                             data: {
                                 row_no: no
                             },
                             success: function(response) {
                                 document.getElementById("card-text-page1").innerHTML = response;
                             }
                         });
                     }


                });
            </script>
        <?php endif; ?>
//Insert into database
    global $wpdb, $current_user;
    wp_get_current_user();

    if (isset($_POST['submit'])) {
        $data_total = array(
            'score' => $_POST['totalscore'],
            'finish_time' => $_POST['countdown'],
            'medal' => $_POST['medal'],
            'insert_date' => date('Y-m-d'),
            'display_name' => $current_user->display_name
        );
        $table_name = 'wp_quiz';

        $wpdb->insert($table_name, $data_total, $format = NULL);
    }


    //set pages for pagination
    if (isset($_GET["page"])) {
        $page  = $_GET["page"];
    } else {
        $page = 1;
    };
    $limit = 4;

    $start = ($page - 1) * $limit;

    //Request from database
    $get_result = $wpdb->get_results(
        "select *
            from
                wp_quiz
        order by
                score desc
           limit $start, $limit
           "
    );
    $get_result1 = $wpdb->get_results(
        "select 
                count(id)
             as
                id
           from
                wp_quiz
           "
    );

    //change object into array
    $display_result = json_decode(json_encode($get_result), true);
    $display_result1 = json_decode(json_encode($get_result1), true);

    $total_result = $display_result1[0]['id'];
    $currentPage = ceil($total_result / $limit);