Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Удаление строки в jqgrid (http://forum.oszone.net/showthread.php?t=276820)

xctr 31-01-2014 14:40 2299895

Удаление строки в jqgrid
 
Здравствуйте! Делаю табличку на jqgrid, в принципе почти всё сделал (добавление, инлайн редактирование, сложный поиск, сортировку), осталось только удаление строки, вот я не пойму что ему надо, всё вроде верно делаю, согласно wiki. Но не работает, по каким то причинам не передаётся "tid" ни методом "POST" ни "GET".
HTML + Java Scrpt код (клиент):
читать дальше »
HTML код:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Выработка сотрудников доставки</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta name="description" content="jqGrid" />
    <meta name="keywords" content="jqGrid, javascript, jquery" />

        <link rel="stylesheet" type="text/css" media="screen" href="css/smoothness/jquery-ui-1.7.2.custom.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
</head>

<body>
        <table id="list"></table>
        <div id="pager"></div>
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js/i18n/grid.locale-ru.js"></script>
    <script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function(){
        var lastSel;
        jQuery("#list").jqGrid({
            url:'2getdatanew.php',
            datatype: 'json',
            mtype: 'POST',
            colNames:['#', '1', '2','3','4','5','6','7','8','9','10'],
            colModel :[
                {name:'tid', index:'tid', width:50, align:'right', editable:true, search:true}
                                ,{name:'ProductionResource_driver_id', index:'ProductionResource_driver_id', width:150,editable: true ,edittype:"select",editoptions:{dataUrl:'test.php'}}
                ,{name:'ProductionResource_forwarder_id', index:'ProductionResource_forwarder_id', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'Quantity_RN', index:'Quantity_RN', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'Quantity_TT', index:'Quantity_TT', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'SKU', index:'SKU', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'pcs', index:'pcs', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'box', index:'box', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'kg', index:'kg', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'ye', index:'ye', width:150, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                                ,{name:'CreateDate', index:'CreateDate', width:150,  formatter: 'date', align:'right', editable:false, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn','le','lt','gt','ge']}}
                ],
            pager: jQuery('#pager'),
            rowNum:30,
            rowList:[10,20,30],
            sortname: 'tid',
            sortorder: "asc",
            viewrecords: true,
                        autowidth: true,
            caption: 'Выработка сотрудников доставки',
                        height: '100%', viewrecords: true, fixed: true, gridview: true, loadonce: false,
            ondblClickRow: function(tid) {
                if (tid && tid != lastSel) {
                    jQuery("#list").restoreRow(lastSel);
                    jQuery("#list").editRow(tid, true);
                    lastSel = tid;
                }
            },
            editurl: 'editjqgrid.php'
        }).navGrid('#pager',{view:false, del:true, add:true, edit:false},
                        {}, //  default settings for edit
                        {addCaption: "Добавление записи",
                        editCaption: "Edit Record",
                        url:"addjqgrid.php",
                        bSubmit: "Добавить",
                        bCancel: "Отмена",
                        bClose: "Закрыть",
                        saveData: "Data has been changed! Save changes?",
                        bYes : "Да",
                        bNo : "Нет",
                        bExit : "Закрыть"}, //  default settings for add
                        {caption: "Delete",
                        msg: "Delete selected record(s)?",
                        bSubmit: "Delete",
                        bCancel: "Cancel",
                        url: 'jqgriddelete.php',
                        reloadAfterSubmit:false,
                        mtype: "POST"},  // delete instead that del:false we need this
                        {closeOnEscape:true, multipleSearch:true, closeAfterSearch:true}, // search options
                        {} /* view parameters*/
                )
    });
    </script>
</body>
</html>



Вот вырезка из кода выше для вызова удалялки:
читать дальше »
Код:

{caption: "Delete",
                        msg: "Delete selected record(s)?",
                        bSubmit: "Delete",
                        bCancel: "Cancel",
                        url: 'jqgriddelete.php',
                        reloadAfterSubmit:false,
                        mtype: "POST"},




PHP (сервер)
читать дальше »
PHP код:

<?php

$link 
mssql_connect('хост''логин''пароль');
mssql_select_db('Reports'$link);

$tid $_POST['tid'];

$query mssql_query('delete Productivity_MD where tid = '.$tid);

mssql_close($link);

?>


Sham 31-01-2014 15:32 2299940

Если шлёте json то декодируйте json_decode. Сделайте дамп переменной $_POST, там сразу видно будет. Переменная в запросе не экранирована.

xctr 31-01-2014 16:32 2299987

PHP код:

$tid $_POST['tid'];

$file=fopen("file.txt""a");
fwrite ($file$tid); 

Не записывается ровным счётом ничего. Переменная пустая.

PHP код:

$tid json_decode($_POST['tid']);

$file=fopen("file.txt""a");
fwrite ($file$tid); 

Вот так тоже пустая.

Sham 31-01-2014 16:48 2299998

открывайте дебагер (firebug или встроенный в браузер) и смотрите ошибки js, запросы. Там наглядно всё.
PHP код:

file_put_contents('file.txt'print_r($_POSTtrue)); 


xctr 31-01-2014 16:58 2300005

Да действительно "firebug" помог, передаётся не "tid", а "id" записи в самом grid!


Время: 20:30.

Время: 20:30.
© OSzone.net 2001-