【问题标题】:How to use jQuery SlickGrid with PHP / MySQL (load server data and save changes)如何在 PHP / MySQL 中使用 jQuery SlickGrid(加载服务器数据并保存更改)
【发布时间】:2011-04-16 03:37:48
【问题描述】:

请在SlickGrid 代码中找到的所有示例中,数据数组是在客户端随机生成的。

获取:我需要知道如何使用 PHP 从 MySQL 数据库中获取此信息并使用 jQuery / AJAX 将其返回到 SlickGrid。

保存: 我已经在 StackOverflow 上找到了一个链接,用于使用隐藏输入 (Saving changes in SlickGrid) 从网格中保存数据,但目前还不清楚我应该如何处理这些数据以获取PHP 脚本。

一些详细的帮助和/或指针将不胜感激,我是一个菜鸟,我没有找到关于这个很棒的插件的足够文档。

【问题讨论】:

    标签: php jquery mysql ajax slickgrid


    【解决方案1】:

    SlickGrid 需要一个数据数组来填充表格。您可以在 PHP 中将其创建为字符串,并在创建 SlickGrid 时在 JavaScript 中使用它。

    请注意;这是快速、肮脏和未经测试的!

    PHP

    $data = '';
    $i = 0;
    
    $query = "
        SELECT
            `title`, `duration`, `percentComplete`, `start`, `finish`, `effortDriven`
        FROM
            `myTable`
    ";
    $result = mysql_query($query);
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
        $data .= '
            data['.$i.'] = {
                title: "'.$row['title'].'",
                duration: "'.$row['duration'].'",
                percentComplete: "'.$row['percentComplete'].'",
                start: "'.$row['start'].'",
                finish: "'.$row['finish'].'",
                effortDriven: "'.$row['percentComplete'].'"
            };
        ';
    
        $i++;
    }
    

    JavaScript

    <script type="text/javascript">
        var grid;
    
        var columns = [
            {id:"title", name:"Title", field:"title"},
            {id:"duration", name:"Duration", field:"duration"},
            {id:"%", name:"% Complete", field:"percentComplete"},
            {id:"start", name:"Start", field:"start"},
            {id:"finish", name:"Finish", field:"finish"},
            {id:"effort-driven", name:"Effort Driven", field:"effortDriven"}
        ];
    
        var options = {
            enableCellNavigation: false,
            enableColumnReorder: false
        };
    
        $(function() {
            var data = [];
            <?php echo $data; ?> //This is where we echo the PHP variable $data which contains our JavaScript array as a string.
    
            grid = new Slick.Grid($("#myGrid"), data, columns, options);
        })
    </script>
    

    【讨论】:

    • 感谢您的回复,山姆。请问,我需要知道,PHP 会将数组输出为 JSON 还是默认的 print / echo?
    • 请我在这里仍然需要一些帮助。我尝试以 JSON 形式回显并尝试回显,但均无效。请问有人吗?
    • 您不需要将其作为 JSON 回显,它已经在此行 &lt;?=$data?&gt; 处打印在正确的位置。
    • 在没有原生 JSON 函数的浏览器中,这仍然有效,还是需要从数组转换为 jason?
    • 如果你先准备一个关联数组,将所有数据保存到 $data 上,然后只使用 =json_encode($data)?> 会更干净。这样会干净得多。
    猜你喜欢
    • 2011-09-28
    • 2012-04-27
    • 2010-11-14
    • 2011-03-14
    • 2010-11-01
    • 2014-01-02
    • 1970-01-01
    • 2021-10-12
    • 2012-02-24
    相关资源
    最近更新 更多