Тема: Подскажите пожалуйста! Разбивка на страницы!

Народ подскажите пожалуйста разбить на страницы......
как разбивать и выводить по несколько id читал, не подходит, про текст но там переносить по количеству символов, и разрывает текст... нето)
у меня в одном id текст..... анекдоты:) много:)

<p aling='center'>*****</p>
<p>Анекдот</p>

<p aling='center'>*****</p>
<p>Анекдот</p>

<p aling='center'>*****</p>
<p>Анекдот</p>

и т.д. и мне надо чтоб на страницу вылазило  около 5....
можно ли както сделать такую функцию)?

2

Re: Подскажите пожалуйста! Разбивка на страницы!

pacanyurik
В каком виде данные хранятся в БД?

3

Re: Подскажите пожалуйста! Разбивка на страницы!

немного не понял) я догадуюсь это)
в phpmyadmin таблица
id
title
.
.
.
text
и в тексте много анекдотов)
если не то написал пожалуйста обьясните smile

4

Re: Подскажите пожалуйста! Разбивка на страницы!

pacanyurik
Как они в поле text хранятся? Если каждый анекдот отделен от другого пустой строкой, то разделить их можно, если ничем не отделены, то нельзя.

Если разделения анекдотов нет, то можно попробовать пройти вручную по всему тексту и разделить их, а затем сделать так:

<?php

$text = str_replace("\r", '', $text);
$array = explode("\n\n", $text);
// Дальше разбирать массив.

?>

5

Re: Подскажите пожалуйста! Разбивка на страницы!

Разделить не проблема) щас будем мудрить)

6

Re: Подскажите пожалуйста! Разбивка на страницы!

Hanut
подскажи пожалуйста что дальше делать) не нашел я примерных вариантов в инете! sad((((((

7

Re: Подскажите пожалуйста! Разбивка на страницы!

pacanyurik
Получили массив из отдельных записей? Дальше их надо перебрать.

Если нужна 1 страница по 10 элементов, то:

$text = str_replace("\r", '', $text);
$array = explode("\n\n", $text);

$number = 10;
$page = 1;

$start = $page - 1;
$stop = $start + 10;
for ($i = $start; $i < $stop; $i++) {
  if (!isset($array[$i])) break;
  echo $array[$i];
}

8

Re: Подскажите пожалуйста! Разбивка на страницы!

ну текст то я разбил)
вторую половину я понял....и после него уже выводить "вперед назад" и стрелочки? вроде сделаем)

$text = str_replace("\r", '', $text);
$array = explode("\n\n", $text);
можете обьяснить как работает ета функия? что это \r \n
и я так понял после её надо чтото вставить?)
и для чего перемення number ? sad

9

Re: Подскажите пожалуйста! Разбивка на страницы!

pacanyurik
\r и \n - это подстановочные символы переноса строки. В Windows используются два символа \r\n, в Unix только \n, поэтому сперва надо убрать все возможные \r (str_replace("\r", '', $text);), затем разбить текст по пустой строке (explode("\n\n", $text);).

$text - это ваш текст из анекдотов.
$number - это количество анекдотов на странице.

10 (изменено: pacanyurik, 2010-02-23 15:24:39)

Re: Подскажите пожалуйста! Разбивка на страницы!

Hanut
У меня вот что в скрипте smile а выводит все на одной странице... не по 5..... может я нетак разделил текст))) я делил <br>.... или чтото в коде не дописал sad

<?php
include ("blocks/bd.php"); /*Соединение с базой*/
if (isset ($_GET['id'])) {$id = $_GET['id'];}

$result = mysql_query("SELECT * FROM anekdots WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);

$text = $myrow['text'];

$text = str_replace("\r", '', $text);
$array = explode("\n\n", $text);

$number = 5;
$page = 1;

$start = $page - 1;
$stop = $start + 5;
for ($i = $start; $i < $stop; $i++) {
  if (!isset($array[$i])) break;
  echo $array[$i];
}
?>

11

Re: Подскажите пожалуйста! Разбивка на страницы!

pacanyurik
Покажите пример того, как вы разделили текст. Про <br> я что-то не понял.

12

Re: Подскажите пожалуйста! Разбивка на страницы!

Вот так я делил пустой строкой:)

<p align="center">*****</p>
<p>Анекдот</p>
<br />
<p align="center">*****</p>
<p>Анекдот</p>
<br />
<p align="center">*****</p>
<p>Анекдот</p>
<br />
<p align="center">*****</p>
<p>Анекдот</p>
<br />
<p align="center">*****</p>
<p>Анекдот</p>
<br />
<p align="center">*****</p>
<p>Анекдот</p>
<br />

13

Re: Подскажите пожалуйста! Разбивка на страницы!

Тогда так попробуйте.

$text = str_replace("\r", '', $text);
$array = explode("\n<br />\n", $text);

14

Re: Подскажите пожалуйста! Разбивка на страницы!

благодарочка!:) хорошо когда есть добрые люди:)