Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Вывод информации из MySQL
Показать сообщение отдельно

Аватара для Moon Mag

Новый участник


Сообщения: 28
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое за помощь Coutty.
И так после долгих мучение я смог вывести из MySQL определенное колличество строк на основе кода от chirs

Код: Выделить весь код
$text = 'Первый пример текста. Второй пример текста. Третий пример текста. Четвертый пример текста.';
$max_length = 30;
$page = (isset($_GET['page']) ? $_GET['page'] : 2);
// Разбиваем $text на массив $arr[], находя в тексте пробелы между словами
$text.= ' ';
while (!empty($text)):
  if (strlen($text)>$max_length) $n = $max_length; else $n = strlen($text);
  for ($i = $n-1; $i>0; $i--) if ($text[$i]==' ') break;
  $arr[] = trim(substr($text,0,$i+1)); $text = substr($text,$i+1);
endwhile;
$k = count($arr);
// Выводим на экран текущую страницу
echo 'Страница '.$page.' из '.$k.'<br><br>';
echo $arr[$page-1];
// Теперь рисуем простенький навигатор страниц
$nav = '<a href="?page='.($page>1 ? $page-1 : 1).'">Предыдущая</a> ';
$nav.= '<a href="?page='.($page<$k ? $page+1 : $k).'">Следующая</a>';
echo '<br><br>'.$nav;
// А это для отладки, чтобы было видно, что происходит
echo '<pre>'; print_r($arr);
, но после радостного успеха я сильно обломался когда попробовал в текс добавить картинку или ссылку так как все это
PHP код: Выделить весь код

$text 'Первый пример <img src=\"***.jpg\"> текста. Второй пример текста. Третий пример текста. Четвертый пример текста.'

считает одним текстом и может запись типа <img src=\"26_xp.jpg\"> разорвать на две части потому что там есть пробел между img_src и точно также ссылками.

Поэтому я сделал так
PHP код: Выделить весь код

<?php 

$text 
'Первый пример <img src="***.jpg"> текста.{{PAGE}} Второй пример текста.{{PAGE}} Третий пример текста.{{PAGE}} Четвертый пример текста.';


$all_page substr_count($text,"{{PAGE}}"); /*Считаем сколько страниц*/
echo $all_page;  /*Для проверки, потом можно убрать*/

/*Делаем проверку переменной page от не санкционированного ввода*/
if (isset($_GET['page'])) {$page=$_GET['page'];}  
if (isset(
$_GET['page']) == false or $page != is_numeric($page) or $page or $page $all_page) {$page='1';} 


$string strpos($text"{{PAGE}}"0); /*Ищем в тексте первую метку {{PAGE}} и возвращаем её значение*/
do
{
$i=$string+8/*Так как наша метка состоит из 8 символов и чтоб метка не занасилась в массив и не выводилась на экран, нам нужно её перекрыть*/
$arr[] = trim(substr($text,0,$string)); /*Добавляем выборку из текста в массив - страница*/
$text substr($text,$i); /*Выбираем последующие страницы, выбираем от начального и до конца текста*/
}
while (
$string strpos($text"{{PAGE}}"0)); /*Ищем 2-3,4, и тд. метку {{PAGE}} */

/* Если убрать скобки то выдаст структуру массива
echo '<pre>'; print_r($arr);
*/   

/* Выводим на экран текущую страницу */
echo '<br>Страница '.$page.' из '.$all_page.'<br><br>';
echo 
$arr[$page-1];


// Теперь рисуем простенький навигатор страниц
$nav '<a href="?page='.($page>$page-1).'">Предыдущая</a> ';
$nav.= '<a href="?page='.($page<$all_page $page+$all_page).'">Следующая</a>';
echo 
'<br><br>'.$nav;

?>

я немного позаимствовал части кода из других примеров, авторам спасибо.
Теперь просто будет немного ручного труда, придется в ручную подбирать колличество строк передвигая метки {{PAGE}}.

Отправлено: 19:48, 03-01-2009 | #10

Название темы: Вывод информации из MySQL