Новичок
Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.12.2010
Репутация: нет Всего: нет
|
Помогите, пожалуйста, разобраться. Дело вот в чем: файл (admin.html) описывает таблицу jqGrid, загрузку данных в которую осуществляет файл getdata.php. Так вот в таблице отображается количество строк столько, сколько записей в таблице, но они пусты, хотя в БД заполнены. admin.html | Код |
<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>"Администрирование: работа с пользователями"</title> <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.8.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script type="text/javascript" language="JavaScript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" language="JavaScript" src="js/jquery-ui-1.8.custom.min.js"></script> <script type="text/javascript" language="JavaScript" src="js/i18n/grid.locale-ru.js"></script> <script type="text/javascript" language="JavaScript" src="js/jquery.jqGrid.min.js"></script> <script type="text/javascript" language="JavaScript" src="js/jquery.autocomplete-min.js" ></script> <script type="text/javascript" language="JavaScript"> $(document).ready(function(){ $('#words').jqGrid({ scroll: true, scrollrows: true, url: 'getdata.php', datatype: 'json', mtype: 'POST', colNames:['#', 'Логин', 'Пароль', 'Уровень доступа'], colModel :[ {name:'id', index:'id', width:30} ,{name:'name', index:'name', width:100, align:'left', editable:true, edittype:"text"} ,{name:'password', index:'password', width:100,editable:true, edittype:"text"} ,{name:'access', index:'access', width:150, align:'left',editable:true, edittype:"text"} ], pager: $('#wordsPager'), rowNum: 10, rowList: [10,20,30], sortname: 'id', sortorder: 'asc', viewrecords: true, imgpath: 'themes/basic/images', caption: 'Данные пользователей', /* * Не забываем указать, что в качестве ответа сервера мы получим * ассоциативный массив, где ключ - это имя поля, * а значение по этому ключу - содержимое. */ jsonReader: { repeatitems: false }, editurl: 'changeData.php', }).navGrid('#wordsPager',{edit:true, add:true, del:true});
}) </script> </head> <body> <table id="words" class="scroll"></table> <div id="wordsPager" class="scroll" style="text-align:center;"></div> </body> </html>
|
getdata.php | Код | <?php try { //читаем параметры $curPage = $_POST['page']; $rowsPerPage = $_POST['rows']; $sortingField = $_POST['sidx']; $sortingOrder = $_POST['sord'];
//подключаемся к базе $dbh = new PDO('mysql:host=localhost;dbname=users', 'root', ''); //указываем, мы хотим использовать utf8 $dbh->exec('SET CHARACTER SET utf8');
//определяем количество записей в таблице $rows = $dbh->query('SELECT COUNT(id) AS count FROM user'); $totalRows = $rows->fetch(PDO::FETCH_ASSOC);
$firstRowIndex = $curPage * $rowsPerPage - $rowsPerPage; //получаем список пользователей из базы $res = $dbh->query('SELECT * FROM user 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']; if ($row['access']==0) $lev='Администратор'; else $lev='Пользователь'; $response->rows[$i]['cell']=array($row['id'], $row['name'], $row['password'], $lev); $i++; } echo json_encode($response); } catch (PDOException $e) { echo 'Database error: '.$e->getMessage(); }
// end of getdata.php ?>
|
|