Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Проблема с PagingToolbar! (https://javascript.ru/forum/extjs/12435-problema-s-pagingtoolbar.html)

evshumilov 17.10.2010 17:25

Проблема с PagingToolbar!
 
Вложений: 3
Здравствуйте!

Проблема следующего характера взял пример постраничного вывода с использованием PagingToolbar.
Данные берутся из базы данных в запрос передается параметр номер клиента store.load({params:{start:0, limit:10, cardid:123}});
данные отображаются но не работает постраничный просмотр.
если в страницу php прописать номер клиента то постраничный вывод работает не могу понять в чем дело. Исходники в письме.

Подскажите пожалуйста..

mycoding 17.10.2010 17:31

Я Ваш код не смотрел, но с сервера должно ещё приходить
количество страниц для просмотра, сейчас гляну как сам делал.

evshumilov 17.10.2010 17:32

Да это все есть
$_GET['callback'].'({"totalCount":"'.$rows.'","topics":'.json_encod e($arrr).'})';

mycoding 17.10.2010 17:34

А у Вас в сети есть Ваш пример, чтобы глянуть?
Т.е. просто не работает постраничный вывод?
А за чем передавать номер клиента при постраничном выводе?

evshumilov 17.10.2010 17:40

Вложений: 2
нет в сети нет все на локальном компьютере :(
вроде параметр параметр номер клиента правильно передаю на страницу php она отрабатывает и возвращает первую страницу но при запросе второй станицы ничего не меняется остается также первая страница.
приложтл скриншоты нормального вывода.

mycoding 17.10.2010 17:45

Ну по виду все рабочее.
Я если честно так и не понял, что именно не работает.
Кэша в ExtJS нет, каждый запрос имеет уникальный префикс вроде dc передающий число миллисекунд с 1970 года.
Можете приложить скриншоты в неправильном выводе?
Я думаю, Вам надо воспользоваться FireBug и глянуть какие данные приходят с сервера и какие отсылаются.
Наварное все дело именно в серверной части.

evshumilov 17.10.2010 17:48

не выдаются следующие страницы при нажатии кнопки в Toobar.
я вообще правильно передаю параметр через обьект JsonStore
store.load({params:{start:0, limit:10, cardid:123}});
?

mycoding 17.10.2010 17:51

Глянул код сервеной части.
Первое зачем у Вас сесия открывается?
session_start();

Во вторых вот из-за этого работать думаю не будет.
$card_id =  (isset($_POST['cardid']) ? $_POST['cardid'] : $_GET['cardid']);

Вы используете $card_id потом в sql запросе, т.е. просто не выполняется запрос и с сервера приходит ошибка вот у Вас и никего не отображается без передачи этого параметра.

Если Вам нужен ExtJS в плане обычных вещей без расширений и плагинов, прочтите книгу
Learn ExtJS и гляньте их код. Там очень много примеров, которые нужны.
В том числе и этот.

mycoding 17.10.2010 17:55

У меня серверная сторона выглядит вот так

<?php
$start=($_POST['start']!= '') ? $_POST['start'] : 0;
$limit=($_POST['limit']!= '') ? $_POST['limit'] : 20;
$zadachnik = $_POST['zadachnik'];

include '../config.php';
$link = mysql_connect($host, $mysql_user, $mysql_password) or die("Could not connect: " . mysql_error());
mysql_select_db($database, $link) or die ('Can\'t use $database : ' . mysql_error());

$sql = "SELECT * FROM `resheniya` WHERE `zadachnik`='$zadachnik' ORDER BY `resheniya`.`id` ASC LIMIT  $start , $limit";

$arr = array();
if(!$rs = mysql_query($sql)){
		$answer='{success:false}';
}else{
	while($obj = mysql_fetch_object($rs)){$arr[] = $obj;}	
	$result = mysql_query($sql);
	$num_rows = mysql_num_rows($result); 
	$answer = '{success:true,total:'.$num_rows.', rows:'.json_encode($arr).'}';
}
echo $answer;
?>

mycoding 17.10.2010 17:57

Зачем Вам вообще нужен этот Id на сервер передавать?
Paging нужен для просмотра огромного количества сток в grid.
И где Вы взяли свой код?


Часовой пояс GMT +3, время: 08:12.