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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Разбивка на страницы
 
 автор: PHPFan   (11.07.2005 в 16:02)   письмо автору
 
 

Полазив по Интернету, усовершенствовав коды с разных источников собрал ещё один вариант разбивки на страницы:
<?php
// Количество строк на лист
$num 10;

$page $_GET['p'];

if(!isset(
$page)) $page 1;

$fp = @file('textfile.txt');
$all count($fp);

if (
floor($all/20) == ($all/20))
$allpages floor($all/20); else $allpages floor($all/20)+1;

for (
$i=($page-1)*$num$i<=(($page*$num<$all) ? $page*$num-1$all-1); $i++)
{
echo 
$fp[$i].'<br>';
}

?>

Вполне рабочий вариант получился.
Юзать так: index.php?page=1
Вопрос: в коде понятно абсолютно всё, кроме строчки for ($i=($page-1)*$num; $i<=(($page*$num<$all) ? $page*$num-1: $all-1); $i++)
Не могли бы вы объяснить как она работает? (непонятнен знак ? и двоеточие)

   
 
 автор: PHPFan   (11.07.2005 в 16:56)   письмо автору
 
   для: PHPFan   (11.07.2005 в 16:02)
 

Ещё одна версия переделанная (с нормальной навигацией, комментариями) лежит в аттаче. Почему-то при вставке сюда текста Windows-1251 отображается кракозяблями.
Предыдущий вопрос в силе :)

   
 
 автор: to4kaRU   (11.07.2005 в 17:10)   письмо автору
 
   для: PHPFan   (11.07.2005 в 16:02)
 

Я так понимаю, этим условием определяется конечная запись на текущей странице.
Это логическое выражение - проверяется выражение до ?, если оно истино, выполнятеся операторы до :, иначе - после :.
По сути Выражение ? Оператор1 : Оператор2 тоже самое, что
if (Выражение) {
Оператор1
} else {
Опреатор2
}

   
 
 автор: PHPFan   (11.07.2005 в 17:36)   письмо автору
 
   для: to4kaRU   (11.07.2005 в 17:10)
 

Спасибо за ответ. По логике работы похоже что это именно так. :))

   
Rambler's Top100
вверх

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