2010-09-23 69 views
5

请在SlickGrid代码中找到的所有示例中,数据数组是在客户端随机生成的。如何在PHP/MySQL中使用jQuery SlickGrid(加载服务器数据并保存更改)

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

保存:我已经找到StackOverflow上的链接使用隐藏的输入(Saving changes in SlickGrid)从网格中保存数据,但它不是真正清楚,我应该如何处理上让PHP脚本这个数据。

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

回答

8

为了填充表格,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> 
+1

感谢您的答复,山姆。请问,我需要知道,PHP会将数组输出为JSON还是默认的打印/回显? – Cogicero 2010-09-23 10:17:25

+0

请在这里,我仍然需要一些帮助。我试图回显为JSON,我试着回声,都没有工作。请人吗? – Cogicero 2010-09-23 13:21:35

+0

您无需将其作为JSON回显,它已通过此行''打印在正确的位置。在没有原生JSON函数的浏览器中使用 – Sam 2010-09-24 08:12:23

相关问题