Click here to Skip to main content
15,887,267 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
XML
I am trying to have a jqgrid on my webpage with all the functionality. Currently I am able to fill the grid with data from mysql database. Now I have kept add:true in the navgrid option and with the '+' icon it opens a add dialog box with 3 fields which on submit I need to add to mysql database. Here's my jqgrid code:

<pre lang="Javascript">
<script type="text/javascript">
jQuery(document).ready(function(){
$("#grid").jqGrid({
   // data: mydata,
    datatype: 'json',
    mtype: 'POST',
    url: 'showResources.php',
    width: 700,
    colNames:["LAB NAME","RESOURCE NAME","DESCRIPTION"],
    colModel:[
    {name:'lab_name', index:'lab_name', width:40,editable:true, edittype: 'select', editoptions:{value:"nccs:NCCS;tcs:TCS;iisc:IISC;icgeb:ICGEB", dataInit:             function(elem)
        {
                $(elem).width('auto');
        }
}},
    {name:'resource_name', index:'resource_name', width:50,editable:true, editoptions:{size:'auto'}},
    {name:'description', index:'description', width:100,editable:true, edittype: 'textarea', editoptions:{rows:"2",cols:"20"}},
    ],
    pager: "#pager",
    rowNum:10,
    rownumbers: true,
    rowList:[10,20,30],
    gridview: true,
    sortname: 'id',
    viewrecords: true,
    loadonce: true,
    sortorder: "desc",
    caption:"Resources",
    height: 250,
    editurl: 'addResource.php'
    }).navGrid('#pager',{edit:false,add:true,del:false,search:true},{width: '330', closeAfterAdd: true });
});
&lt;/script>
</pre>

Here url:showResource.php is the page where I have the logic to fetch data into grid from mysql, and editurl: 'addResource.php' is where my logic for adding the row is which is:

code:

<pre lang="PHP">$lab_name = $_POST['lab_name'];  //lab_name field from POST above
    $resource_name = $_POST['resource_name']; //resource_name field from POST above
    $description = $_POST['description'];  //description field from POST above
    $tb_name = 'tb_systb_resources';

    $add_query = "INSERT INTO $tb_name ('','lab_name','resource_name','description') VALUES ('',$lab_name,$resource_name,$description)";
    $result = mysql_query($add_query);
    if($result)
    {
        echo("<br>Input data is succeed");
    }
    else
    {
        echo("<br>Input data is fail");
    }</pre>

Now when the page is loaded it says

Notice: Undefined index: lab_name in /opt/lampp/htdocs/hemang/addResource.php on line 10

Notice: Undefined index: resource_name in /opt/lampp/htdocs/hemang/addResource.php on line 11

Notice: Undefined index: description in /opt/lampp/htdocs/hemang/addResource.php on line 12

which i have printed and the grid is filled, and the data does add from the dialog but does not store to db. So when I refresh the page or grid it disappears. I am not sure of how to pass the 3 fields' values from the submit button in add dialog box.

Please help.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900