首页 > 解决方案 > 如何在 jQuery 中使用 array_key_exists() 和 ksort()?

问题描述

我试图弄清楚如何在 jQuery 中对数组进行排序。以前,我在 PHP 中尝试过代码,它运行良好,但这次我想使用 jQuery 加载数据。这就是我所拥有的:

获取.js

<script> 
            $(document).ready(function(){
                $.get("fetch.php")
                .done(function (data) {  
                    var displayString = "";   
                    var record = [];   
                    $.each(JSON.parse(data), function (key, value) { 
                        if(!array_key_exists(value['ACC'], record))
                        {
                            record[value['ACC']][value['ACC']]['ACC']               = value['ACC'];     
                            record[value['ACC']][value['ACC']]['CATEGORY']          = value['CATEGORY'];        
                            record[value['ACC']][value['ACC']]['CVALUE']            = value['CVALUE'];          
                            record[value['ACC']][value['ACC']]['FACILITY']          = value['FACILITY'];        
                            record[value['ACC']][value['ACC']]['FUND']              = value['FUND'];        
                            record[value['ACC']][value['ACC']]['AMOUNT']            = value['AMOUNT'];      
                        }
                        else
                        {
                            record[value['ACC']][value['ACC']]['CATEGORY']          = value['CATEGORY'];        
                            record[value['ACC']][value['ACC']]['CVALUE']            = value['CVALUE'];  
                        }  
                    }); 
                    ksort(record, SORT_NUMERIC);
                    $.each(JSON.parse(record), function (key, value) {  
                        displayString +=
                            "<tr>" +      
                                "<td>" + value[key]['ACC'] + "</td>" +   
                                "<td>" + value[key]['CATEGORY'] + "</td>" +   
                                "<td>" + value[key]['CVALUE'] + "</td>" +   
                                "<td>" + value[key]['FACILITY'] + "</td>" +   
                                "<td>" + value[key]['FUND'] + "</td>" +   
                                "<td>" + value[key]['AMOUNT'] + "</td>" +   
                            "</tr>"; 
                    });  
                    $("#tableBody").html(displayString);
                    $("#table-display").dataTable({
                    dom: 'Blfrtip', 
                    scrollX: true 
                    });
                }); 

            });
        </script>

这是我的 php 文件来获取数据

获取.php

<?php
    require 'connection.php';                                                                    
    $query = "select * from table"; 
    $result = oci_parse($conn, $query);
    oci_execute($result);
    $arr = array();
    while ($row = oci_fetch_array($result)){
        $arr[] = $row;
    }
    echo json_encode($arr);
?>

我期望输出将如下图所示,它在列表中分组为单个值以获取可重复值。

图像输出使用 php 代码。

在此处输入图像描述

我的目标是使用上面的 jQuery 脚本显示它。

欣赏是否有人可以帮助我。请帮助和指导我。提前致谢。

标签: javascriptphpjqueryksortarray-key-exists

解决方案


推荐阅读