2010-09-23 49 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

相關問題