Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Заковырка с постраничной навигацией на файлах

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: TetRiska   (14.12.2009 в 01:52)   письмо автору
 
   для: Trianon   (14.12.2009 в 01:19)
 

вроде бы решил :) сейчас протестирую основательно!
if($page == 1)
    $end = $page*$num;
    else
    $end = $start + (count($arr) - $start);


П.СЫ. Блин.....сейчас в файле 25 записей...вывожу по 10...
первая 10 - с 0-10
вторая 15 - с 11-25
третья 5 - с 21-25

ппц..........

ну его в баню...вроде бы все!!! нука посмотрите..
$end = $page * $num;
    
    if($page == $total)
        $end = count($arr);

вроде бы работает при любом кол. записей в файле и при любом значении $num

  Ответить  
 
 автор: Trianon   (14.12.2009 в 01:19)   письмо автору
 
   для: TetRiska   (14.12.2009 в 01:09)
 

Почему на третьей странице долж>когда в файле 4 записи - все ок, когда 5, то
>первая страница - 2 записи
>вторая страница - 2 записи
>третья страница 2, но вторая запись пустая и ее не должно быть...должна быть лишь 1 запись
>>так значит не первая страница отличается от остальных, а третья?
>либо я Вас ввожу в заблуждения,
да нет... все описываемое покамест достаточно правдиво.

>либо хотите помучать...

отнюдь, скорее Вы меня хотите помучить :)

>но ни черта не могу сообразить.
Что здесь соображать?
Я простейший вопрос задал. Какая страница отличается от остальных и почему?

  Ответить  
 
 автор: neadekvat   (14.12.2009 в 01:17)   письмо автору
 
   для: TetRiska   (14.12.2009 в 01:09)
 

Посмотрите на код - вы же ему говорите интерпретатору "выводи на странице по 2 записи", он и выводит, и ему плевать, что записи то кончились, он выводит пустой шаблон.

  Ответить  
 
 автор: TetRiska   (14.12.2009 в 01:09)   письмо автору
 
   для: Trianon   (14.12.2009 в 01:01)
 

когда в файле 4 записи - все ок, когда 5, то
первая страница - 2 записи
вторая страница - 2 записи
третья страница 2, но вторая запись пустая и ее не должно быть...должна быть лишь 1 запись
>так значит не первая страница отличается от остальных, а третья?
либо я Вас ввожу в заблуждения, либо хотите помучать...но ни черта не могу сообразить.

  Ответить  
 
 автор: Trianon   (14.12.2009 в 01:01)   письмо автору
 
   для: TetRiska   (14.12.2009 в 00:56)
 

>когда 5, то первая страница - 2 вторая страница - 2
>третья тоже 2, но вторая пустая и ее не должно быть

>если извратиться if($page == 1)

так значит не первая страница отличается от остальных, а третья?

  Ответить  
 
 автор: TetRiska   (14.12.2009 в 00:56)   письмо автору
 
   для: Trianon   (13.12.2009 в 23:55)
 

$start = $page * $num - $num;
    $end = $page * $num;

    for($i=$start;$i<$end;$i++)
    {

при таком раскладе на первой 2 записи - все ок
на второй тоже 2 записи - но одна (первая) - правильно, а вторая лишняя (пустая)

когда в файле 4 записи - все ок, когда 5, то
первая страница - 2
вторая страница - 2
третья тоже 2, но вторая пустая и ее не должно быть

  Ответить  
 
 автор: neadekvat   (14.12.2009 в 00:01)   письмо автору
 
   для: TetRiska   (13.12.2009 в 23:52)
 

> так и написано
В каком месте?
$start = $page * $num - $num; (1)
$start = ($page - 1) * $num; (2)

Пусть $page = 3, а $num = 2.

$start = 3 * 2 - 2 = 4; (1)
$start = (3 - 2) * 2 = 2; (2)

  Ответить  
 
 автор: Trianon   (13.12.2009 в 23:55)   письмо автору
 
   для: TetRiska   (13.12.2009 в 23:52)
 

Вы не отвлекайтесь, думайте.
В частности думайте над тем, почему у Вас не показывается вторая строка на второй странице.

  Ответить  
 
 автор: TetRiska   (13.12.2009 в 23:52)   письмо автору
 
   для: neadekvat   (13.12.2009 в 23:34)
 

хмм..у меня вроде бы так и написано

  Ответить  
 
 автор: neadekvat   (13.12.2009 в 23:34)   письмо автору
 
   для: TetRiska   (13.12.2009 в 23:27)
 

<?php
$sum 
2;

$page = (int) $_POST['page'];

if (empty (
$page) || $page <= 0$page 1;

$start = ($page 1) * $sum;

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования