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

Форум PHP

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

 

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

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

тема: Постраничная навигаци
 
 автор: Polina   (05.06.2009 в 05:59)   письмо автору
 
 

Вообщем есть такой код для навигации на РНР,но вся проблема в том что он сслылается для работы на текстовый фаил,как сделать чтоб он ссылалася на htmlфаил?

  Ответить  
 
 автор: Commander   (05.06.2009 в 06:01)   письмо автору
 
   для: Polina   (05.06.2009 в 05:59)
 

Полина, ну вы хоть бы код выложили, чтобы понятно было.

  Ответить  
 
 автор: Polina   (05.06.2009 в 06:18)   письмо автору
 
   для: Commander   (05.06.2009 в 06:01)
 

Вот он:

<?php

// Имя файла

$filename = "text.txt";

// Число позиций на странице

$pnumber = 3;

// Открываем файл для чтения

$bufer = file_get_contents($filename);



// Находим все строки при помощи регулярного выражения

preg_match_all("#([\d]+) ([^\n]+)(\n|$)#U",

$bufer,

$out,

PREG_PATTERN_ORDER);

// Формируем промежуточный массив

for($i = 0; $i < count($out[1]); $i++)

{

$temp[] = trim($out[2][$i]);

}



// Проверяем передан ли номер текущей страницы

if(isset($_GET['page'])) $page = $_GET['page'];

else $page = 1;

// Число страниц

$total = count($temp);

$number = (int)($total/$pnumber);

if((float)($total/$pnumber) - $number != 0) $number++;



$start = (($page - 1)*$pnumber + 1);

$end = $page*$pnumber + 1;

if($end > $total) $end = $total;



// Выводим содержимое страниц

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

{

echo $temp[$i]."<br>";

}



// Постраничная навигация

for($i = 1; $i <= $number; $i++)

{

// Если это произвольная страница

if($i != $number)

{

if($page == $i)

{

echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]&nbsp;";

}

else

{

echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".

(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a>&nbsp;";

}

}

// Если это последняя страница заменяем последнюю цифру

// максимальным числом позиций в массиве $temp

else

{

if($page == $i)

{

echo "[".(($i - 1)*$pnumber + 1)."-".($total - 1)."]&nbsp;";

}

else

{

echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".

(($i - 1)*$pnumber + 1)."-".($total - 1)."]</a>&nbsp;";

}

}

}

  Ответить  
 
 автор: Commander   (05.06.2009 в 06:25)   письмо автору
 
   для: Polina   (05.06.2009 в 06:18)
 

Вы просто задайте в переменной $filename имя нужного вам файла и все:


<?php
$filename 
"index.html";
?>


P.S. Кстати, для того чтобы код в посте было удобнее читать, воспользуйтесь тегами для выделения (имеется в виду тег code)

  Ответить  
 
 автор: Polina   (05.06.2009 в 06:37)   письмо автору
 
   для: Commander   (05.06.2009 в 06:25)
 

Но весь прикол в том что он не загружает его

  Ответить  
 
 автор: Commander   (05.06.2009 в 06:38)   письмо автору
 
   для: Polina   (05.06.2009 в 06:37)
 

Файл той же папке лежит?

  Ответить  
 
 автор: Polina   (05.06.2009 в 06:40)   письмо автору
 
   для: Commander   (05.06.2009 в 06:38)
 

да

  Ответить  
 
 автор: Trianon   (05.06.2009 в 08:28)   письмо автору
 
   для: Polina   (05.06.2009 в 06:40)
 

html-файл, в отличие от текстового, однородным набором строк не является, и применять к нему методы разбивки текстового файла мягко говоря малость некорректно.

  Ответить  
 
 автор: Polina   (05.06.2009 в 08:35)   письмо автору
 
   для: Trianon   (05.06.2009 в 08:28)
 

Ну поэтому я и здесь,чтоб народ посказал как реализовать такое же но с .html,и все

  Ответить  
 
 автор: Trianon   (05.06.2009 в 08:42)   письмо автору
 
   для: Polina   (05.06.2009 в 08:35)
 

разбивется не файл ( html или txt)
Разбивается выводимое содержимое.
От содержимого нужно отталкиваться, и от того где и как оно хранится.
Непосредственно в html-файлах содержимое стараются не хранить.
html - это всё же язык разметки, а не формат представления данных.

  Ответить  
 
 автор: Polina   (05.06.2009 в 13:24)   письмо автору
 
   для: Trianon   (05.06.2009 в 08:42)
 

А где тогда лучше хранить,и поподробнее можно о том что вы говорили?

  Ответить  
 
 автор: Рома   (05.06.2009 в 13:33)   письмо автору
 
   для: Polina   (05.06.2009 в 13:24)
 

лучше всего хранить в базе данных. И освоить не сложно и кода меньше, и все это очень быстро работает. происходит вся эта процедура в три этапа:
1.подключение к базе
2.выбор базы
3.запрос на данные

  Ответить  
 
 автор: Polina   (05.06.2009 в 13:41)   письмо автору
 
   для: Рома   (05.06.2009 в 13:33)
 

в моем случае БД не поможет,у меня электронный учебник с примерами кода и его реализацией,который неизвестно как хранить и откуда его извлекать

  Ответить  
 
 автор: *m*   (05.06.2009 в 14:04)   письмо автору
 
   для: Polina   (05.06.2009 в 13:41)
 

а что вы хотите сделать с этим учебником?

  Ответить  
 
 автор: sim5   (05.06.2009 в 14:13)   письмо автору
 
   для: Polina   (05.06.2009 в 13:41)
 

Почему не поможет? Инофрмацию можно хранить как в файлах, так и в базе. База дает большую гибкость.

  Ответить  
 
 автор: Polina   (05.06.2009 в 14:16)   письмо автору
 
   для: sim5   (05.06.2009 в 14:13)
 

Тогда подскажите как реализовать

  Ответить  
 
 автор: sim5   (05.06.2009 в 14:22)   письмо автору
 
   для: Polina   (05.06.2009 в 14:16)
 

Что? Здесь в разделе примеров постраничной навигации очень много. Как вы храние свои данные не известно. Можно все хранить в базе - весь ваш текст, например, каждая страница некой темы справочника, это отдельная запись под уникальным ID, которая имеет информацию о заголовке страницы, о включаемых в нее изображениях и т.п.. В свою очередь ID страниц принадлежат некой главе, которые описана в другой таблице....
А может быть что у вас это готовые HTML-файлы, а база служит лишь для описания всех связей между страницами-главами, и навигации.

  Ответить  
 
 автор: Polina   (05.06.2009 в 14:27)   письмо автору
 
   для: sim5   (05.06.2009 в 14:22)
 

А про второе можно поподробней?

  Ответить  
 
 автор: sim5   (05.06.2009 в 14:40)   письмо автору
 
   для: Polina   (05.06.2009 в 14:27)
 

Помятуя ваши слова о дипломе из первой вашей темы, можно сказать следующее. Если димплом каким либо образом касется РНР, именно его "практического применения", то значит как-то должна быть "задествована" его работа в вашем дипломе - задействуем базу. В ином случае, чтобы создать справочник по РНР, совсем не обязательно задействовать его, все можно сделать на чистом HTML, наподобие HTML-помощи.
Что вам требуется?

  Ответить  
 
 автор: Polina   (05.06.2009 в 14:44)   письмо автору
 
   для: sim5   (05.06.2009 в 14:40)
 

Ну он должен быть задействован,только я не совсем умею им пользоваться,особенно то что касается дизайна,поэтому и использую html

  Ответить  
 
 автор: Рома   (05.06.2009 в 15:03)   письмо автору
 
   для: Polina   (05.06.2009 в 14:44)
 

а можно немножко поподробней о дипломе, там задание, цель, средства, какую инфу нужно показывать...

  Ответить  
 
 автор: Рома   (05.06.2009 в 15:05)   письмо автору
 
   для: Polina   (05.06.2009 в 14:44)
 

а можно немножко поподробней о дипломе, там задание, цель, средства, какую инфу нужно показывать...

  Ответить  
 
 автор: Polina   (05.06.2009 в 15:15)   письмо автору
 
   для: Рома   (05.06.2009 в 15:05)
 

Разработка Информационно обучающей системы"HTMLer" (модули PHP,Mysql)на базе web-сервера Ahache,представлять должен из себя электронное пособие по рнр с примерами

  Ответить  
 
 автор: sim5   (05.06.2009 в 15:20)   письмо автору
 
   для: Polina   (05.06.2009 в 15:15)
 

Я так понимаю, что это проще сделать на чистом HTML, в двух фреймах (левое описание глав, правое контекст). А примеры работы кода, это запрос к серверу, обработка и вывод работы примеров в новом окне.

  Ответить  
 
 автор: Polina   (05.06.2009 в 15:27)   письмо автору
 
   для: sim5   (05.06.2009 в 15:20)
 

честно говоря я так и хотела)))

  Ответить  
 
 автор: Рома   (05.06.2009 в 15:51)   письмо автору
 
   для: sim5   (05.06.2009 в 15:20)
 

ну да, тогда этот учебник может работать не только на сервере.

  Ответить  
 
 автор: Polina   (05.06.2009 в 16:15)   письмо автору
 
   для: Рома   (05.06.2009 в 15:51)
 

главное чтоб вообще работал)

  Ответить  
Rambler's Top100
вверх

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