Nur die ersten Zeichen eines Feldes...

mdandi

Grünschnabel
Hier der Code zum auslesen einer Forum-DB zwecks Erstellung einer Top 4 Tabelle:

$result = mysql_query("SELECT TOPIC_ID, TOPIC_TITLE, FORUM_ID FROM ib_forum_topics WHERE FORUM_ID = 8 ORDER BY TOPIC_LAST_DATE DESC LIMIT 4");
if($result) {
while($row=mysql_fetch_row($result)) {

echo "<a href=http://www.url.de/cgi-bin/ikonboard.cgi?act=ST&f=$row[2]&t=$row[0] Target= _blank>$row[1]</a><br>";
}
}

Nun aber zur Frage:

DIe Einträge in TOPIC_TITLE sind teilweise sehr lang (das sind die Überschriften), und damit die Top 4 Tabelle nicht mein ganzes Design zersprengt würde ich die Überschriften im erzeugten Link gerne "kürzen" ala:

Ursprünglicher Name des Themas: Ich habe eine Frage zu MySQL

Gewünschte Form nach Auslesen der DB: Ich habe eine Fra...

Also. Wie lese ich nur eine bestimmte Anzahl an Zeichen aus der DB???
 
hmm also ob man das in ner query machen kann weiss ich net....

aber mit php kann man das ganz einfach machen:

PHP:
$max_string_laenge = 30; //maximale länge der überschrift.....
if(strlen($row['TOPIC_TITLE'])>$max_string_laenge) $title = substr($row['TOPIC_TITLE'],0,($max_string_laenge-1))."...";
//strlen überprüft die länge des string......
//ist die länger, als die längste gewollte, wird mit substr($string,$anfang,$ende) einteil davon abgeschnitten
//von zeichen $anfang bis zeichen $ende im string $string
//am ende wird dann noch das ... angehängt...
else $title = $row['TOPIC_TITLE'];
//wenn der title nich länger is wird er einfach so ausgegeben...
echo $title;

alles klar????

//bad taste
 
Hmm..funzt net.

Wo genau muss ich es jetzt einbauen bzw. was (vom alten Code) muss dadurch ersetzt werden?
 
Gleich oberhalb deines ECHO befehls, da hast du die Daten der Zelle in das Array namens $row geladen, mit dem Skriptteil von "bad taste" kannst du dann die ersten 4 Buchstaben des Wertes abtrennen.
 
Ach ja, eines wollte ich noch kurz erwähnen: Wie du vieleicht weisst, ist in PHO der Befehl ECHO gleichbedeutend mit PRINT, aber da in C, C++ und so der Befehl Print verwendet wird, rate ich dir diesen auch in PHP zu verwenden, sonst wirst du mühe haben wenn du eine der andern Programmiersprachen lernen willst!!
(Glaub mir, ich weiss von was ich rede, ich schreibe in C++ immer wieder ECHO und wundere mich eshalb dies ein Fehler verursacht!!)
 

Neue Beiträge

Zurück