Как использовать jqGrid Расширенный поиск / w Серверный PHP? - PullRequest
1 голос
/ 07 января 2010

Я играл с jqGrid, но не могу понять, как реализовать функцию поиска. В идеале я хотел бы использовать «Расширенный поиск» - я представляю, что когда пользователь отправляет форму расширенного поиска, введенные данные отправляются по URL-адресу, указанному в «editurl»? Я предполагаю, что этот URL затем выводит набор результатов, отфильтрованный с использованием критериев поиска.

Мой вопрос: как это на самом деле делается? Правильно ли я в URL-адрес отправляются данные, и если да, то как можно получить доступ к этим данным?

Я достаточно приличен в jQuery и хорош в Javascript. Я использую PHP для всех вещей на стороне сервера (экспертные знания и mySQL), но мне кажется, что я не могу решить эту проблему ... в настоящее время мой Java:

var lastsel; 
$("#list").jqGrid({
    url:'example.php',
    datatype: 'xml',
    hidegrid: false,
    mtype: 'GET',
    colNames:['id','ti', 'na','al','de'],
    colModel :[ 
        {name:'id', index:'id', width:55, hidden:true, key:true, resizable:true}, 
        {name:'ti', index:'ti', width:75, resizable:true,editable:true}, 
        {name:'na', index:'na', width:200, align:'left', resizable:true,editable:true}, 
        {name:'al', index:'al', width:200, align:'left', resizable:true,editable:true}, 
        {name:'de', index:'de', width:400, align:'left', sortable:false, resizable:true,editable:true}
    ],
    pager: '#pager',
    height:'100%',
    rowNum:10,
    searchGrid: {multipleSearch:true, caption : 'go'},
    rowList:[50,100,200],
    sortname: 'ticker',
    sortorder: 'asc',
    viewrecords: true,
    editurl:'example.php',
    multipleSearch:true,
    caption: 'Definitions'
}); 



Вся помощь очень ценится!

Ответы [ 3 ]

1 голос
/ 02 февраля 2010

Я не знаю, нашел ли ты где-нибудь свой ответ, но я только что сделал это, и я могу тебе немного помочь.

Они передают параметр, называемый фильтрами. Является ли JSON ... вы должны получить его как запрос и преобразовать его в массив.

Я работаю с php, поэтому я использовал функцию с именем json_decode ($ yourvar, true). Он превращает фильтр в массив. Массив легче манипулировать.

0 голосов
/ 13 апреля 2010

Я просто пытаюсь научиться этому сам, но я бы порекомендовал ознакомиться с их демонстрацией поиска по PHP: http://www.trirand.com/blog/jqgrid/jqgrid.html

С левой стороны откройте вкладку аккордеона и перейдите к «Манипуляции с живыми данными», затем нажмите «Поиск данных». Вы увидите живой пример вместе с кодом. Этот конкретный пример использует XML вместо JSON.

В их примере я не понимаю, как они передают переменные поиска в код php: это просто происходит. Если бы это был json, я знаю, что это было бы в URL.

В любом случае я вижу, что данные возвращаются на страницу HTML так же, как и обычный метод заполнения сетки: они возвращаются в jqGrid в формате XML, и jqGrid знает, как принимать данные в этом формате беги с этим.

Надеюсь, это поможет.

0 голосов
/ 07 января 2010

Как вы сказали, URL содержит информацию о поиске.

Но поиск выполняется не на стороне клиента, вы должны внедрить его на стороне сервера.

И код, который вы разместили, не Java, а JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...