Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Ähnliches Problem wie unten: Neue Seite nach viel Text

Selbstständiger Unternehmer / 1 Antworten / Baumansicht Nickles

Hallö, ich habe eigentlich ien ähnliches Problem, wie das,
was unten diskutiert wurde und mir ein paar Gedanken
gemacht. Leider funktioniert mein Gedanke nicht und ich
würde mich gern beraten lassen :-)

also was ich ganz genau mit dem script machen wollte: ich will einen ganz langen text schreiben , der ist in einer datenbank. dieser soll dann nicht, wie unten im thread besprochen, einfach irgendwo umbrochen werden, sondern ich will seite 1...2.....3 erzeugen. Und zwar automatisch, so dass der text nicht so lang gescrollt werden muss.



$text == “Meinganzlangertextaufeinerseite”;

$laenge = strlen($text);

if($laenge > 4) //Wenn die Länge länger als 4 ist, einfach mal als Beispiel
{
for($i=0; $i {

while($i
{ echo “$text[$i++]
”; }

}

?>


Ich dreh mich im Kreis, mir fehlt der Denkansatz. Bitte helft mir, eure scripts funktionieren zwar wundersuperschön aber ich würds gerne verstehn (das reimt sich sogar ;-)

bei Antwort benachrichtigen
xafford Selbstständiger Unternehmer „Ähnliches Problem wie unten: Neue Seite nach viel Text“
Optionen

hallo, so ganz werde ich aus deinem quelltext leider nicht schlau, allei schon aus der doppelten schleife (for und while).
das grundproblem bei mehreren seiten ist dieses: du hast nicht ein script, daß durchläuft, sindern ein script, daß du für jede seiten neu aufrufst, du mußt also über die aufrufe hinweg einen parameter übermiteln, der dem script sagt, welchen teil des textes es anzeigen soll.
es gäbe aber auch noch eine andere möglichkeit, bei der du das ganze über JavaScript löst, dies würde dir mehrere scriptaufrufe für eien text ersparen. aber jetzt erst mal zu lösung 1:


function show_text($text,$offset=0,$length=1024) //Zeigt als Standard den Text ab 0 bis 1024 an
{
if($offset>strlen($text)){return false;} //Prüfen, ob nicht der Offset schon außerhalb des Textes liegt
if($offset+$length>strlen($text)){$length=strlen($text)-$offset;} //Überprüfen ob Resttext kürzer als Länge ist
while($text[$offset+$length]!="."){$length-=1;} //An Satzende umbrechen
echo substr("$text",$offset,$length); //Textabschnitt anzeigen
$offset=$offset+$length; //Offset erhöhen
echo "
weiter"; //Link für neue Seite generieren
}

über javascript kann man das ganze als DHTML generieren, indem man den text auf verschiedene layer verteilt und diese zum umblättern einblenden lässt.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen