How to use jQuery SlickGrid with PHP / MySQL (load server data and save changes)

Please, in all examples found in SlickGrid , the data array was randomly generated on the client side.

Getting: I need to know how to use PHP to get this information from a MySQL database and return it using jQuery / AJAX to SlickGrid.

Saving: I already found a link to StackOverflow for saving data from the grid using hidden input ( Saving changes in SlickGrid ), but it is not entirely clear how I should process this data about access to the PHP script.

Some detailed help and / or pointers will be appreciated, I rather noob, and I did not find adequate documentation for this amazing plugin.

+5
source share
1 answer

An array of data is required to populate the SlickGrid table. You can create this as a string in PHP and use it in your JavaScript when creating a SlickGrid.

Please note: this is fast, dirty and unverified!

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>
+8
source

All Articles