jqGrid передача дополнительного параметра
Есть динамическая таблица с возможность редактирования и.т.д
Столкнулся с проблемой передачи параметра php обработчику на вывод табличных данных, нужно чтобы выбирал не все поля а по заданному id_zakaz_baza но как его передать не могу разобраться с этим плагином. http://******.ru/craete_zakaz.php?p=121 $id = $_GET['p']; раньше брал из строки браузера, но в данном не работает и понятно почему. craete_zakaz.php--------я так понимаю что видимо существует вариант функции которая могла бы отправить параметр в getdata.php но что то не где не нашел <script type="text/javascript"> jQuery(document).ready(function(){ var lastSel; jQuery("#list").jqGrid({ url:'getdata.php', datatype: 'json', mtype: 'POST', colNames:['#', 'Заказ', 'Работа', 'Сена/час', 'норма', 'Сумма', 'Исполнитель'], colModel :[ {name:'id', index:'id', width:50, align:'right', search:false} ,{name:'id_zakaz', index:'id_zakaz', width:50, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn']}} ,{name:'rabota', index:'rabota', width:200, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn']}} ,{name:'norma', index:'norma', width:50, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn']}} ,{name:'n4', index:'n4', width:50, align:'right', editable:true, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn']}} ,{name:'sum', index:'sum', width:100, align:'right', editable:false, edittype:"text", searchoptions:{sopt:['eq','ne','bw','cn']}} ,{name:'ispol', index:'ispol', width:200, align:'right', editable:true, edittype:"select", editoptions:{dataUrl:'sot.php'}} ], pager: jQuery('#pager'), rowNum:20, width:900, height:400, rowList:[20,35,50], sortname: 'id', sortorder: "asc", viewrecords: true, caption: 'Выполенные работы', ondblClickRow: function(id) { if (id && id != lastSel) { jQuery("#list").restoreRow(lastSel); jQuery("#list").editRow(id, true); lastSel = id; } }, editurl: 'saverow.php' }).navGrid('#pager',{view:false, del:false, add:false, edit:true}, {}, // default settings for edit {}, // default settings for add {}, // delete instead that del:false we need this {closeOnEscape:true, multipleSearch:true, closeAfterSearch:true}, // search options {} /* view parameters*/ ); }); </script> ОБРАБОТЧИК getdata.php <?php require_once('dbdata.php'); try { //читаем параметры $id_zakaz_baza =121; ----КАКИМ ОБРАЗОМ ПЕРЕДАТЬ ПАРАМЕТР $curPage = $_POST['page']; $rowsPerPage = $_POST['rows']; $sortingField = $_POST['sidx']; $sortingOrder = $_POST['sord']; //подключаемся к базе $dbh = new PDO('mysql:host='.$dbHost.';dbname='.$dbName, $dbUser, $dbPass); //указываем, мы хотим использовать utf8 $dbh->exec('SET CHARACTER SET utf8'); $dbh->exec('set character_set_client="utf8"'); $dbh->exec('set character_set_results="utf8"'); $dbh->exec('set collation_connection="utf8"'); $qWhere = ''; //определяем команду (поиск или просто запрос на вывод данных) //если поиск, конструируем WHERE часть запроса if (isset($_POST['_search']) && $_POST['_search'] == 'true') { $allowedFields = array('surname', 'fname', 'lname'); $allowedOperations = array('AND', 'OR'); $searchData = json_decode($_POST['filters']); //ограничение на количество условий if (count($searchData->rules) > 10) { throw new Exception('Cool hacker is here!!! :)'); } $qWhere = ' WHERE '; $firstElem = true; //объединяем все полученные условия foreach ($searchData->rules as $rule) { if (!$firstElem) { //объединяем условия (с помощью AND или OR) if (in_array($searchData->groupOp, $allowedOperations)) { $qWhere .= ' '.$searchData->groupOp.' '; } else { //если получили не существующее условие - возвращаем описание ошибки throw new Exception('Cool hacker is here!!! :)'); } } else { $firstElem = false; } //вставляем условия if (in_array($rule->field, $allowedFields)) { switch ($rule->op) { case 'eq': $qWhere .= $rule->field.' = '.$dbh->quote($rule->data); break; case 'ne': $qWhere .= $rule->field.' <> '.$dbh->quote($rule->data); break; case 'bw': $qWhere .= $rule->field.' LIKE '.$dbh->quote($rule->data.'%'); break; case 'cn': $qWhere .= $rule->field.' LIKE '.$dbh->quote('%'.$rule->data.'%'); break; default: throw new Exception('Cool hacker is here!!! :)'); } } else { //если получили не существующее условие - возвращаем описание ошибки throw new Exception('Cool hacker is here!!! :)'); } } } //определяем количество записей в таблице $rows = $dbh->query("SELECT COUNT(id) AS count FROM rabot WHERE id_zakaz='$id_zakaz_baza'".$qWhere); $totalRows = $rows->fetch(PDO::FETCH_ASSOC); $firstRowIndex = $curPage * $rowsPerPage - $rowsPerPage; //получаем список пользователей из базы $res = $dbh->query("SELECT * FROM rabot WHERE id_zakaz='$id_zakaz_baza' ".$qWhere." ORDER BY ".$sortingField." ".$sortingOrder." LIMIT ".$firstRowIndex.", ".$rowsPerPage); //сохраняем номер текущей страницы, общее количество страниц и общее количество записей $response->page = $curPage; $response->total = ceil($totalRows['count'] / $rowsPerPage); $response->records = $totalRows['count']; $i=0; while($row = $res->fetch(PDO::FETCH_ASSOC)) { $response->rows[$i]['id']=$row['id']; $response->rows[$i]['cell']=array($row['id'], $row['id_zakaz'], $row['rabota'], $row['norma'], $row['n4'], $row['sum'], $row['ispol']); $i++; } echo json_encode($response); } catch (Exception $e) { echo json_encode(array('errMess'=>'Error: '.$e->getMessage())); } // end of getdata.php |
Разобрался :)))
url:'getdata.php?p=<?php echo $id_zakaz_baza; ?>', |
Часовой пояс GMT +3, время: 06:43. |