Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Постраничный вывод

Обсуждение темы Постраничный вывод в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Из файла вида: Один|Два|Три выгружаю по страницам, благо разобрался б/менее: PHP код: <?php $base = "news/news.txt" ;  // Файл где находиться инфа $general = file ( $base ...


Закрытая тема
 
Опции темы
Старый 06.02.2009, 00:28   #1
Из файла вида:

Один|Два|Три

выгружаю по страницам, благо разобрался б/менее:

PHP код:
<?php
$base
="news/news.txt"; // Файл где находиться инфа

$general=file($base); //Заносим весь наш файл в массив

$lines_file=file($base); //Еще разочек занесем наш файли в массив :-)

$lines=count($lines_file); //Считаем общее количество записей в файле, ну т.е. строк.

$pmessages = file("$base");

$onlyg=5; //Сколько записей выводить на страницу

/*

Тут начинаеться самая главная часть нашего файла
Просчитываем странички :-)

*/

if (@$page == "" or $page < 0) //Если переменная $page равна пустоте, или она меньше 0
{
$page = "1"; //Тогда переменнная $page=1
}

$first = count($pmessages) - ($onlyg * ($page - 1));
$second = count($pmessages) - ($onlyg * $page) + 1;

if (
$second < 1)
{
$second = 1;
}

$pages = (int) ((count($pmessages) + $onlyg) / $onlyg); //Считаем общее количество страниц

for ($onlyg = 1; $onlyg <= $pages; $onlyg++) //Загоняем все в цикл, т.е. присваемваем переменно $onlyg значение
//1 и пока она меньше или равна $pages увеличиваем ее на единичку.
{
if (
$onlyg != $page) //Если $olyg не равняется $page
{
//То наши ссылки имеют такой вид
$line .= "[ <a href=\"test.php?page=$onlyg\">$onlyg</a> ]";
}
if (
$onlyg == $page) //А если равняеться
{
//То такой
$line .= "[ $onlyg ]"; //Ну т.е. в выводим не в виде ссылки ту страницу где сейчас находиться пользователь
}
}


/*

Теперь выводим саму информацию

*/

for ( $i = $first-1; $i >= $second-1; $i--)
{
$mess = explode("|",$general[$i]); 
$id = $i;
$id++;
//ну а дальше уже выводим наши данные
echo "<img src='img/mini/info.gif' border='0' width='14' height='14'>&nbsp;<font class='newsdate'>$mess[0]</font> &nbsp;&nbsp;&nbsp; <b>$mess[1]</b><br>$mess[2]<br><br>\n";


    } 

echo 
"$line<br>"; //Выводим ссылки

echo "Всего статей - <font color=red>$lines</font>."; //Выведем информацию пользователю о общем количестве записей
?>
2 проблемы, если новостей в файле 10, а скрипт должен выводить по 5 он генерит 3 страницы... непорядок..
вторая прабла - на всех страницых одно и то же...

Заранее спасибо за комментарии

Последний раз редактировалось kost; 06.02.2009 в 14:03..
 
Старый 06.02.2009, 00:28
Ссылки
Старый 18.02.2009, 12:36   #2
Вывожу по 5 на страницу... пишет внизу: ВСЕГО НОВОСТЕЙ 10, страниц - 3 (????!!!!)... хмммм...
+ при переходе на след. страницу, отображает, всё равно, последние 5 новостей

Последний раз редактировалось vitalius; 18.02.2009 в 12:39..
 
Старый 07.03.2009, 01:49   #3
ОК, разобрался.

Остается посл. вопрос - хочу выводить только НЕПУСТЫЕ строки. как реализовать?
 
Старый 07.03.2009, 23:28   #4
Выкиньте из массива пустые строки и выводите что осталось.
 
Старый 09.03.2009, 00:34   #5
PHP код:
<?php 
$base
="news/news.txt"; // Файл где находиться инфа 

$gen=file($base); //Заносим весь наш файл в массив 

function Clear_array_empty($gen)
{
$general = array();
foreach(
$gen as $val)
{
    if (!empty(
$val))
    {
        
$general[] = trim($val);
    }
}
return 
$general;
} 

Clear_array_empty($gen);

$lines_file=file($base); //Еще разочек занесем наш файли в массив :-) 

$lines=count($lines_file); //Считаем общее количество записей в файле, ну т.е. строк. 

$pmessages = file("$base"); 

$onlyg=5; //Сколько записей выводить на страницу 

/* 

Тут начинаеться самая главная часть нашего файла 
Просчитываем странички :-) 

 
*/
$page=($_GET['page']);
if (@
$page == "" or $page < 0) //Если переменная $page равна пустоте, или она меньше 0 
{ 
$page = "1"; //Тогда переменнная $page=1 
} 

$first = count($pmessages) - ($onlyg * ($page - 1)); 
$second = count($pmessages) - ($onlyg * $page) + 1; 

if (
$second < 1) 
{ 
$second = 1; 
} 

$pages = (int) ((count($pmessages) + $onlyg) / $onlyg); //Считаем общее количество страниц 

for ($onlyg = 1; $onlyg <= $pages; $onlyg++) //Загоняем все в цикл, т.е. присваемваем переменно $onlyg значение 
//1 и пока она меньше или равна $pages увеличиваем ее на единичку. 
{ 
if (
$onlyg != $page) //Если $olyg не равняется $page 
{ 
//То наши ссылки имеют такой вид 
$zline .= "[ <a href=\"index.php?page=$onlyg\" class='forw'>$onlyg</a> ]"; 
} 
if (
$onlyg == $page) //А если равняеться 
{ 
//То такой 
$zline .= "[ <font class='forw'><u>$onlyg</u></font> ]"; //Ну т.е. в выводим не в виде ссылки ту страницу где сейчас находиться пользователь 
} 
} 


/* 

Теперь выводим саму информацию 

*/ 
for ( $i = $first-1; $i >= $second-1; $i--) 
{ 
$mess = explode("|",$general[$i]);  

$id = $i; 
$id++; 
//ну а дальше уже выводим наши данные 
echo "<img src='img/mini/info.gif' border='0' width='14' height='14'>&nbsp;<font class='newsdate'>$mess[0]</font> &nbsp;&nbsp;&nbsp; <b>$mess[1]</b><br>$mess[2]<br><br>\n"; 


    }  
echo 
"<center>$zline<br>"; //Выводим ссылки 

echo "<font class='txt'>Новостей: <b>$lines</b></font></center>"; //Выведем информацию пользователю о общем количестве записей 
?>
В итоге получилось так... но чует мое сердце, где то ошибка... вопрос где

p.s. заранее спасибо
 
Старый 09.03.2009, 16:30   #6
Цитата:
Сообщение от vitalius Посмотреть сообщение
В итоге получилось так... но чует мое сердце, где то ошибка... вопрос где
Работет правильно или нет?
 
Старый 09.03.2009, 21:53   #7
нет. выводит все новости пустыми. Массив чистый, без значений
 
Старый 09.03.2009, 21:53
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите сделать постраничный вывод текста из файла, без БД dmitriy-s ASP, Perl, PHP и MySQL 2 01.05.2011 16:01
Постраничный вывод текста LuckyGluk ASP, Perl, PHP и MySQL 10 06.02.2006 06:32
постраничный вывод pseon HTML, CSS, JavaScript 2 06.03.2004 01:21
Постраничный вывод средствами Php Lloyd HTML, CSS, JavaScript 1 26.02.2004 20:46
Постраничный вывод базы в браузер Tiana HTML, CSS, JavaScript 1 06.11.2003 01:26


Текущее время: 16:40. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум