Как использовать jQuery SlickGrid с PHP / MySQL (загрузить данные сервера и сохранить изменения) - PullRequest
5 голосов
/ 23 сентября 2010

Пожалуйста, во всех примерах, приведенных в коде SlickGrid , массив данных был сгенерирован случайным образом на стороне клиента.

Получение: Мне нужно знать, как использовать PHP для извлечения этой информации из базы данных MySQL и возврата ее с помощью jQuery / AJAX в SlickGrid.

Сохранение: Я уже нашел ссылку на StackOverflow для сохранения данных из сетки с использованием скрытого ввода ( Сохранение изменений в SlickGrid ), но не совсем понятно, как мне следует обрабатывать эти данные при попадании в скрипт PHP.

Буду признателен за некоторую подробную помощь и / или указатели, я скорее новичок, и я не нашел адекватной документации по этому удивительному плагину.

1 Ответ

8 голосов
/ 23 сентября 2010

SlickGrid нужен массив данных для заполнения таблицы. Вы можете создать это как строку в PHP и использовать ее в своем JavaScript при создании SlickGrid.

Обратите внимание; это быстро, грязно и не проверено!

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...