Jqgrid заполнить выборку из запроса MySql - PullRequest
1 голос
/ 15 августа 2011

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

Это колмодель:

jQuery("#grid_pacientes").jqGrid({
    url:'conec_paciente.php',
datatype: "json",
//loadonce: true,
    //
    colNames:['id','Nombre','Apellido','Telefono','Obra Soc'],
colModel:[
    {name:'id_paciente',index:'id_paciente', width:40, sorttype:'int'},
    {name:'nombre',index:'nombre', width:100,editable:true,editoptions:{size:10},resizable:false, sorttype:'text'},
    {name:'apellido',index:'apellido',width:100, editable: true,resizable:false, sorttype:'text'},
    {name:'telefono',index:'telefono',width:100, editable: true,resizable:false, sorttype:'int'},
    {name:'id_obra',index:'id_obra',width:100, editable: true,resizable:false, sorttype:'int',edittype:"select"
           }
        ],

Последний столбец (id_obra) - это тот, который мне нужно заполнить.

Это страница php, где я делаю запрос MySql:

    <?php
include_once 'lib.php';
$conexion= mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($database, $conexion);
$result = mysql_query("SELECT id_obra, nombre
                       FROM obras", $conexion) or die(mysql_error());
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
    $responce->rows[$i]['id']=$row["id_obra"];
    $responce->rows[$i]['cell']=array($row["id_obra"],$row["nombre"]);
    $i++;
}
echo json_encode($responce);
?>

Итак ... это весь код, я думаю, что мне нужна функция, но я не знаю, как это сделать. заранее спасибо и извините за мой английский

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

спасибо за вашу помощь.Я нашел решение Это код, который я вставил в http://url_where_data_will_be_gathered, который вы мне сказали:

    <select>

<?php
include_once 'lib.php';
$conexion= mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($database, $conexion);
$result = mysql_query("SELECT id_obra, nombre
                       FROM obras", $conexion) or die(mysql_error());
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
?>
<option value ="<?php echo $row['id_obra'] ?>"><?php echo $row['nombre'] ?></option>
<?php } ?>

</select>
0 голосов
/ 15 августа 2011

@ Начо

Если вы хотите динамически получить раскрывающиеся опции, вам нужно указать параметр "editoptions-> dataInit", чтобы jqGrid знал, где взять данные.

{
      name:'id_obra',
      index:'id_obra',
      width:100, 
      editable: true,
      resizable:false, 
      sorttype:'int',
      edittype:"select",
      edioptions:{
            dataUrl: "http://url_where_data_will_be_gathered"
      }
}

Обратите внимание на добавленный объект editoption.

Возвращаемые данные из URL http://url_where_data_will_be_gathered должны иметь формат:

 <select>
   <option value='1'>One</option>
   <option value='2'>Two</option>
 </select>

Мотыга, это поможет вам.

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