10 erste Worte aus Datenbank anzeigen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfragen
beitrag
eintrag
entsprechende zeile
ergebnis
fehler
gen
hallen
hilfe
hoffnung
kleine frage
lag
madhouse
prinzip
stellen
unterschied
variable
wenigsten
zeile
zurck
-
Hall?!
Ich hab da mal wieder eine kleine Frage:
Ist es m?glich, dass man nur die ersten 10 Worte von einem Text, der in einer Datenbank gespeichert ist, anzeigen kann?
Bye bye -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mit MySQL selber ist mir das nicht bekannt, aber du kannst mit der PHP Funktion substr() den Eintrag beim Ausgeben entsprechen k?rzen.
http://www.selfphp.de/funktionsreferenz/string_funktionen/substr.php -
Okay, danke. Ich werd mir das dann mal durchlesen und ausprobieren. Wird schon irgendwie gehen, denke ich
-
wie bladehunter schon sagte, mit substr().
Also dazu musst du erstmal den gesamten Text aus der Datenbank auslesen. Ich denke du weist, wie das geht (sonst frag halt nochma^^).
und dann
substr($datenbank['text'], 0, 10);
mfg madhouse
?dit: das gibt aber nur die ersten 10 zeichen zurueck, woerter kann man glaube ich nicht zaehlen lassen
Beitrag ge?ndert am 8.03.2006 17:34 von madhouse -
Ohje, ich glaube, ich stelle mich doch wieder mal zu bl?d an. Ich meine, das Prinzip ansich habe ich (denke ich) soweit verstanden. Doch wenn ich dann auf die entsprechende Zeile hinweisen m?chte, gibt er mir nur das wieder, was ich per Hand reingeschrieben habe.
Ich habe es so gemacht:
substr('$zeile[4]', 0, 10);
Aber dann zeigt der Browser nur $zeile[4] an.
Ich poste einfach mal den Code, den ich bisher darin verwendet habe, in der Hoffnung, das das weiterhilft:
$db=mysql_connect("","",""); mysql_select_db(""); $anfrage="SELECT * FROM newssytem"; $ergebnis=mysql_query($anfrage); $anz=mysql_num_rows($ergebnis); for($a=$anz-1;$a>-1;$a--) { mysql_data_seek($ergebnis,$a); $zeile=mysql_fetch_row($ergebnis); print("<marquee direction='up' scrolldelay='10' scrollamount='1' height='360' width='200'>"); print("<b>"); print($zeile[3]); print("</b>"); print("<p align=justify>"); print("<p>?"); print("<br>"); print($zeile[1]); print(" um "); print($zeile[2]); print("<br>"); print("<a href='read.php?news_id="); print($zeile[0]); print("' target=_parent>?more?</a>"); print("<hr>"); } mysql_close($db); print("</marquee>");
EDIT:
Hab ja v?llig vergessen, zu erw?hnen, an welcher Stelle der Teilauszug stehen soll.
An der Stelle, wo nun
print("<p>?");
steht, soll genau dieser Text hin.
Beitrag ge?ndert am 8.03.2006 18:03 von cam -
Wenigstens postest du nicht mehr deine MySQL Zugangsdaten. ^^
Schon mal ein Fortschritt. :D
Dein Problem liegt in den einfachen Anf?hrungszeichen.
In Strings, die damit gekennzeichnet werden ersetzt der PHP Parser keine Variablen. Man muss entweder die doppelten Anf?hrungszeichen nehmen, oder folgendes schreiben, was ich empfehlen w?rde :
$string = 'text'.$variable.' weiterer text';
Bei deinem Code kannst du auch einfach die Anf?hrungszeichen wegelassen, da kein weiterer Text ?bergeben wird.
Also wie folgt :
substr ($zeile[4], 0, 10);
MfG Lucas -
probiere anstatt
substr('$zeile[4]', 0, 10);
zu verwenden, diesen teil hier einzuf?gen:
substr($zeile[4], 0, 10);
Der Unterschied liegt darin, dass in deiner version $zeile[4] als string angesehen wird und nicht als variable!
print("<p>".substr($zeile[4], 0, 10));
ps: nicht getestet -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage