Webdesign in Siegen

Text kürzen

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Text kürzen

Beitragvon =Max= am 26.09.2007, 14:17

Hallo, ich habe hier das gebastelt, was die letzten beiträge aus dem Forum (phpbb2) ausliest. Nun will ich aber den Text afu 30 Buchstaben kürzen, sodass dannach nur noch ein ... erscheint

Hier das Script:

Code: Alles auswählen
<?php
$conn = mysql_connect("localhost", "123", "123");

include ("bbc.php");

if (!$conn) {
    echo "Keine Verbindung zur DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("habbo-fans")) {
    echo "Kann  maximal93 nicht auswählen: " . mysql_error();
    exit;
}
$sql = "SELECT * FROM phpbb_posts_text ORDER BY post_id DESC LIMIT 3";

$result = mysql_query($sql);

if (!$result) {
    echo "Anfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "Tabelle nicht Gefunden nicht gefunden, Abbruch";
    exit;
}
while ($row = mysql_fetch_assoc($result)) {
    echo $row["post_text"];
    echo '<br />';
}

mysql_free_result($result);

?>
=Max=
Mitglied
 
Beiträge: 404
Registriert: 14.01.2007

Beitragvon Basti am 26.09.2007, 14:44

Dazu kannst du dir einfach die PHP Funktion substr() zu Nutze machen.
Damit nur Beiträge die länger sind gekürzt werden baust du vorher am besten noch ne if-Abfrage ein, also so:

Code: Alles auswählen
if(strlen($row['post_text']) > 30)
{
   $text = substr($row['post_text'],0,27).'...';
}
else {
   $text = $row['post_text'];
}
Benutzeravatar
Basti
Moderator
 
Beiträge: 1889
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Beitragvon =Max= am 26.09.2007, 15:30

Ich habs so, aber es zeigt nichts an:

Code: Alles auswählen
<?php
$conn = mysql_connect("localhost", "sd", "dfgh");

include ("bbcodes.php");

if (!$conn) {
    echo "Keine Verbindung zur DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("habbo-fans")) {
    echo "Kann  maximal93 nicht auswählen: " . mysql_error();
    exit;
}
$sql = "SELECT * FROM phpbb_posts_text ORDER BY post_id DESC LIMIT 3";

$result = mysql_query($sql);

if (!$result) {
    echo "Anfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "Tabelle nicht Gefunden nicht gefunden, Abbruch";
    exit;
}
while ($row = mysql_fetch_assoc($result)) {
if(strlen($row['post_text']) > 30)
{
   $text = substr($row['post_text'],0,27).'...';
}
else {
   $text = $row['post_text'];
}
echo '<br/>';
}

mysql_free_result($result);

?>
=Max=
Mitglied
 
Beiträge: 404
Registriert: 14.01.2007

Beitragvon Basti am 26.09.2007, 15:41

:lol:

Du musst $text natürlich auch ausgeben lassen, sonst werden nur Zeilenumbrüche generiert :P

Soweit hättest du doch auch selbst noch denken können, oder? ;)
Benutzeravatar
Basti
Moderator
 
Beiträge: 1889
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Beitragvon =Max= am 26.09.2007, 16:01

Oh ja XD, naja im Stress verigsst man das wichtigste XD
=Max=
Mitglied
 
Beiträge: 404
Registriert: 14.01.2007


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast