• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

substr klappt nicht

Tobi44

Mitglied
Hi,

habe hiervon leider wenig Ahnung, hatte diesen Codesnippet jedoch aus einer meiner Seiten kopiert, die mal ein Programmierer für mich erstellt hatte.

Dabei wird ein zu langer Text, der aus der Datenbank geholt wird, auf eine angegebene Anzahl von Buchstaben gekürzt.

Nur leider erhalte ich eine weiße Seite, wenn ich folgenden Teil im Script habe:

PHP:
$abfrage = mysql_query("SELECT text FROM posts ORDER BY timestamp DESC LIMIT 1");
  
  if(strlen($text) > 200) { $data2name = substr($text, 0, 200)."... <a href=\"/kommentare.php\">&raquo; mehr</a>"; } else { $data2name = $text }
 {
 echo "$data2name";
 }

Aus der Spalte "text" der Tabelle "posts" soll der zuletzt nach timestamp eingetragene Wert geholt werden und ausgegeben werden. So wie ich das sehe, ist bzw. soll das $data2name wohl der gekürzte Text sein.

Vielleicht kann mir jemand helfen.
 
Hallo,

ist das alles?
wo ist die while schleife "while ($ausgabe = mysql_fetch_array ($result)){" und wo ist "$result = mysql_db_query ($dbname, $abfrage, $dbverbindung);" oder so und wo wird $text aus der der DB abfrage?

nichts als Fragen :O)

Cheffchen
 
Hallo,

das Ganze sieht so aus:

PHP:
<?php
$db_location = "localhost"; //Ort 
$db_username = "**"; //User 
$db_passwort = "**"; //Passwort 
$db_name = "**"; //DB 

@mysql_connect($db_location, $db_username, $db_passwort) or die ("Verbindung zur Datenbank fehlgeschlagen fehlgeschlagen.<br />");  
@mysql_select_db($db_name) or die ("Keine Datenbank mit angegebenen Namen vorhanden.<br />"); 

// $abfrage = mysql_query("SELECT text FROM posts ORDER BY timestamp DESC LIMIT 1");
  
//  if(strlen($text) > 200) { $data2name = substr($text, 0, 200)."... <a href=\"/kommentare.php\">&raquo; mehr</a>"; } else { $data2name = $text }
// {
// echo $data2name;
// }
?>

Was fehlt denn?

Danke & Gruß
 
Hallo,

ich würde sagen die eigentlich abfrage, du bereitest alles vor aber die abfrage selber fehlt :O).

Syntaxfehler waren auch "{ $data2name = $text }" ; fehlte und {
echo $data2name; } bei der Schleife fehlt der grund.

Versuche mal das hier, müsste so gehen

PHP:
<?php
$db_location = "localhost"; //Ort
$db_username = "**"; //User
$db_passwort = "**"; //Passwort
$db_name = "**"; //DB
 
$conn = @mysql_connect($db_location, $db_username, $db_passwort) or die ("Verbindung zur Datenbank fehlgeschlagen fehlgeschlagen.<br />");
@mysql_select_db($db_name) or die ("Keine Datenbank mit angegebenen Namen vorhanden.<br />");
$abfrage = mysql_query("SELECT text FROM posts ORDER BY timestamp DESC LIMIT 1");
while ($ausgabe = mysql_fetch_array($abfrage))
{
$text = $ausgabe['text'];
if(strlen($text) > 200) {
 $data2name = substr($text, 0, 200)."... <a href=\"kommentare.php\">&raquo; mehr</a>";
         } else {
         $data2name = $text;
         }
 echo $data2name;
}
 
mysql_close($conn);
?>

Cheffchen
 

Neueste Beiträge

Zurück
Oben