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, время: 11:07. |