Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » 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


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

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