jqgrid и select
День добрый прошу помощи, не могу настроить выпадающий список из базы MySQL в JqGrid. Со статическими списками все показывает.
$('#table').jqGrid({ url:'getMain.php', datatype: 'json', mtype: 'GET', colNames:['name1','name2', 'name3'], colModel:[ {name:'p_p1',index:'p_p1', width:55, sortable:true}, {name:'p_p2',index:'p_p2', width:90, editable:true, sortable:true}, {name:'p_p3',index:'p_p3', width:80, editable:true, edittype: 'select', editoptions:{dataUrl:'getSelList.php'} }], rowNum:25, rowList:[25,50,75], pager: '#navpay', sortname: 'p_p1', sortorder: 'asc', viewrecords: true, caption: "TABLE" }); $("#table").jqGrid('navGrid','#navtable', {edit:true,add:true,del:true}, {},{},{}, {closeOnEscape:true, multipleSearch:true, closeAfterSearch:true}); <body> <table id="table"></table> <div id="navtable"></div> </body> Вопрос заключается в том что я не могу понять, что должен вернуть сервер и как, что бы этот список появился в таблице, мой вариант явно не рабочий. <?php $mysqli = new mysqli('localhost', 'user','pass','bd'); $json_str = array(); $json_str_all = array(); $query = "SELECT * FROM tdktt"; $result = mysqli_query($mysqli,$query); $result = mysqli_query($mysqli,$query); While ($rash = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $id = $rash['idktt']; $value =$rash['ktt']; $json_str = array(array( "id" => $id, "value" => $value), ); $json_str_all = array_merge($json_str_all,$json_str); } echo json_encode($json_str_all); ?> |
$result = mysqli_query($mysqli,$query); - зачем дважды?
И $id = $rash['idktt']; $value =$rash['ktt']; $json_str = array(array( "id" => $id, "value" => $value), ); $json_str_all = array_merge($json_str_all,$json_str); бесполезное занятие. |
убрал дубликат строчки не заработало, как тогда будет правильно? я для этого и обратился сюда. :blink:
|
А ни кто и не говорил, что дубликат запроса, это причина, просто он лишний.
Я не знаю jqgrid, сам скрипт готовит таблицу по данным или необходимо их разбирать, как и какова структура этих данных должна быть, но если требуется два значения на строку таблицы, то зачем же брать из базы все и ковыряться в данных? Запрос и ответ: $result = mysqli_query($mysqli, "SELECT idktt, ktt FROM tdktt"); $arr = []; //или array() для версии ниже 5.4 while($arr[] = array_combine(["id", "value"], mysqli_fetch_row($result)) || array_pop($arr)); echo json_encode($arr); |
Цитата:
я учту свой синтаксис написания. спасибо. |
нашел проблему всё работает.
|
Часовой пояс GMT +3, время: 05:10. |