Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Podział tekstu na strony, :( help
kapitan kloss
post 7.04.2006, 09:05:40
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

Ostrzeżenie: (0%)
-----


Witacie. Mam jakiś problem z wyświetlaniem tekstu pobieranego z bazy na stronie tak aby dzielony on był na mniejsze cześci.

  1. <?php
  2. $tekst = $firma['tekst_pl']; // pobierany tekst
  3. $max = 1000; // maksymalna liczba znaków do wyświetlenia
  4. $spacja = ' '; // zakonczenie
  5. $dlugosc_cala = strlen($tekst); // ogolna liczba znakow w tekscie
  6.  
  7. ?>


Do tego momentu chyba wszystko gra, a teraz:
  1. <?php
  2.  
  3. if ($dlugosc_cala > $max) { 
  4.  if (isset($_GET['od'])) { 
  5. $od = $_GET['od']; //poczatek pokazywania
  6.  } else { 
  7. $od = 0; // poczatek pokazywania od zera
  8.  }
  9.  
  10.  // tekst o dlugosci $max uciety na koncu spacja
  11.  $pokaz = substr($tekst,$od,$max);
  12.  $pokaz = substr($tekst,$od,strlen($pokaz)-strpos(strrev($pokaz),$spacja));
  13.  
  14.  $dlugosc_pokaz = strlen("$pokaz");
  15.  
  16.  print "$pokaz";
  17.  
  18. } else { 
  19.  print "$tekst"; // tekst jest krotszy niz $max. Pokazujemy go calego
  20. }
  21. ?>


I niby wszystko działa, ale ostatnia strona jest źle podawane.
Może macie jakiś pomysł na podział tekstu na stronie.


--------------------
Apache + php 5 + PostgreSQL (Mac OS X)
Go to the top of the page
+Quote Post
nospor
post 7.04.2006, 09:11:53
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a te $_GET['od'] co zawiera? Numer strony? np. 1,2,3,4?
czy zawiera od ktorego znaku? np.:1000, 2000, 3000.

bo jesli numer strony, to czy nie powinien on byc przemnażany przez $max?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kapitan kloss
post 7.04.2006, 09:39:07
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

Ostrzeżenie: (0%)
-----


Haaa, już wiem gdzie błąd. Chodziło o to, że na ostatniej stronie na której wyświetlany był tekst brakowało ostatniego wyrazu. Dlaczego?
Bo w bazie było wpisane "tekst tekst." (nie ma spacji na końcu).
Po wpisaniu w bazie "tekst tekst. " wszystko jest dobrze.

Czy zatem można tak zrobić ten kod
  1. <?php
  2. $pokaz = substr($tekst,$od,strlen($pokaz)-strpos(strrev($pokaz),$spacja));
  3. ?>
aby nie było tego błędu na zakończenia a jednocześnie żeby tekst nie był ucinany po 1000 znakach a ładnie po spacji przed 1000 znaków.

Ten post edytował kapitan kloss 7.04.2006, 09:49:16


--------------------
Apache + php 5 + PostgreSQL (Mac OS X)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 21:59