substr()
daniel
- php
hallo,
ich hab mal wieder so eine anfängerfrage...
ich will einen text aus einer DB ausgeben.
soweit kein problem.
nur will ich nicht den ganzen text anzeigen, sondern nur die ersten paar zeichen (so wie bei heise ;-) )
hab mich mal schlau gemacht, und ich denke ich kann mich
mit substr() anfreunden?
mein problem ist nur: die funktion macht irgendwie GAR nichts???
also keine fehlermeldung , nichts??
vielleicht mal ein bißchen code:
$string=$row[1];
substr($string,0,10);
echo $string;
kann es sein, daß $string gar nicht als textstring erkannt wird?
weil es ja aus $row[1] , einem array, kommt?
ich dachte ich umgehe das, indem ich einfach dem inhalt aus dem array eine neue variable zuweise , aber irgendwie klappt das nicht??
hat einer von euch ne idee???
güße daniel
nur will ich nicht den ganzen text anzeigen, sondern nur die ersten paar zeichen (so wie bei heise
Hallo!
Was ist denn das für eine Datenbank?
Mit mysql würde ich es so tun:
select left(DATENBANK_FELD,ANZAHL_ANZUZEIGENDER_ZEICHEN) from TABELLE
LG
Steffi
Hi!
hab mich mal schlau gemacht, und ich denke ich kann mich
mit substr() anfreunden?
gut!
mein problem ist nur: die funktion macht irgendwie GAR nichts???
also keine fehlermeldung , nichts??
vermutlich ist $string leer!
vielleicht mal ein bißchen code:
$string=$row[1];
substr($string,0,10);
echo $string;
was passiert denn wenn Du statt diesen Code zum testen mal
echo $row[1];
schreibst? was passiert dann? Denn das sieht eigentlich richtig aus, bis auf die Tatsache, das Du den alten String ausgibst, und nicht den gekürzten, dazu müßtest Du
$string = substr($string,0,10);
schreiben, kannst übrigens direkt
echo substr($row[1],0,10);
schreiben :-)
kann es sein, daß $string gar nicht als textstring erkannt wird?
Das wäre egal
weil es ja aus $row[1] , einem array, kommt?
Wenn darin ein String steht sollte es eigentlich gehen!
ich dachte ich umgehe das, indem ich einfach dem inhalt aus dem array eine neue variable zuweise , aber irgendwie klappt das nicht??
mir sieht es eher so aus, als sttünde nichts in deinem Array, oder wenigstens nicht das besagte element [1]. Du weißt auch, das arrays bei 0 anfangen, gel? also wenn DU nur ein Element hast, steht das in [0], und [1] ist leer!
hat einer von euch ne idee???
Wie gesagt, teste mal
echo $row[1];
oder
echo $row[0];
Grüße
Andreas
hi andreas,
das der $row[1] leer ist, das dachte ich mir auch zuerst.
aber er ist es definitiv nicht.
wenn ich echo $row[1] ausgeben lasse, bekomme ich exakt das,
was ich in der DB stehen habe...
bei $row[0] und $row[2] auch.
also vielleicht poste ich einfach mal den ganzen ausschnitt:
while ($row = mysql_fetch_row($base))
{
$string=$row[1];
substr($string,0,10);
echo "<tr>
<td style='border-bottom: 1px solid black; border-right: 1px solid black' valign='top'>$row[2]</td>
<td style='border-bottom: 1px solid black; border-right: 1px solid black' valign='top'>$row[0]</td>
<td style='border-bottom: 1px solid black; border-right: 1px solid black'>$string<td>
</tr> ";
}
wie gesagt echo "<td>$row[1]</td> gibt mir ein "perfektes" ergebnis aus....
wahrscheinlich ist es irgendeine kleinigkeit im code, die mir einfach nicht auffällt (hab erst vor ein paar wochen nebenbei mit php angefangen...)
siehst du einen fehler im code, der mir nicht auffällt?
vielen dank für deine hilfe
grüße daniel
hi andreas,
das der $row[1] leer ist, das dachte ich mir auch zuerst.
aber er ist es definitiv nicht.
wenn ich echo $row[1] ausgeben lasse, bekomme ich exakt das,
was ich in der DB stehen habe...
bei $row[0] und $row[2] auch.
also vielleicht poste ich einfach mal den ganzen ausschnitt:
while ($row = mysql_fetch_row($base))
{
$string=$row[1];
substr($string,0,10);
^^^^^^^^^^
da muß $string=substr($string,0,10); hin!
echo "<tr>
<td style='border-bottom: 1px solid black; border-right: 1px solid black' valign='top'>$row[2]</td>
<td style='border-bottom: 1px solid black; border-right: 1px solid black' valign='top'>$row[0]</td>
<td style='border-bottom: 1px solid black; border-right: 1px solid black'>$string<td>
</tr> ";
}
wie gesagt echo "<td>$row[1]</td> gibt mir ein "perfektes" ergebnis aus....
wahrscheinlich ist es irgendeine kleinigkeit im code, die mir einfach nicht auffällt (hab erst vor ein paar wochen nebenbei mit php angefangen...)
siehst du einen fehler im code, der mir nicht auffällt?
s.o., und probiere doch bei der Ausgabe mal schritt für Schritt zurück, bis es funktioniert, dann hast Du den Fehler!
Andreas
AHHHHHHHHHHHH!!!
DAS genau meinte ich mit der kleinigkeit, die mir mangels erfahrung NICHT aufällt !!!!!
danke !!!
genau das war antürlich DAS ding, weswegen es nicht gefunuzt hat..!!
DAAAAAAnke nochmal.... jetzt geht es !!
grüße,
daniel