Was ist daran falsch? :/

G

glen

Könntet ihr mir sagen was an diesem COde falsch ist?


PHP:
<?php

include("connect.php");

$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");
$db="gb";
mysql_select_db($db);
$abfrage = "SELECT * FROM gb DESC";
$ergebnis = mysql_query($abfrage,$verbindung);
 while($row=mysql_fetch_array($ergebnis))    
  {
   $name = $row['Name'];
   $email = $row['Email'];
   $inhalt = $row['Text'];
   }
echo "<table width='90%' valign='top' align='center'>
<tr><td width='75%' align='left'><b><a href=mailto:".$email.">".$name."</a></b></td></tr></table>"; //die ausgabe der daten

   $inhalt = nl2br($inhalt);
   echo "<table width='90%' align='center'><tr><td colspan='2'>".$inhalt."</td></tr></table>";
  
?>


------------------

???
 
Zuletzt bearbeitet von einem Moderator:
Aus meiner Sicht sollte die Ausgabe der Tabelle, also der einzelnen GB-Einträge, in der Whileschleife passieren.

PHP:
<?php

include("connect.php");

$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");
$db="gb";
mysql_select_db($db);
$abfrage = "SELECT * FROM gb DESC";
$ergebnis = mysql_query($abfrage,$verbindung);

while($row=mysql_fetch_array($ergebnis)) 
{
$name = $row['Name'];
$email = $row['Email'];
$inhalt = $row['Text'];

echo "<table width='90%' valign='top' align='center'>
<tr><td width='75%' align='left'><b><a href=mailto:".$email.">".$name."</a></b></td></tr></table>"; 

$inhalt = nl2br($inhalt);
echo "<table width='90%' align='center'><tr><td colspan='2'>".$inhalt."</td></tr></table>";

}

?>

//edit: Bitte versuche beim nächsten mal deinen Fehler genauer zu beschreiben.
 
Hmmmm....also da es leider immernoch nicht geht versuche ich es nochmal ^^...

Das Problem ist, dass er auf der Seite nix anzeigt....wieso weiß ich ja nicht...
ist auch alles so wie Commander_Keen es erklärt hat, auch in Verbindung mit Vogtländer's Vorschlag klappt es nicht....hmm..
 
Wird denn gar nichts angezeigt? Oder einfach nur die leere Tabelle? Falls letzteres der Fall ist, würde ich die Verbindungsdaten nochmal genau überprüfen. Des weiteren würde ich HTML-Attribute nicht mit ', sondern mit \" kennzeichnen.
 
Also mal zu deinem Code:


<? ->ok

include("connect.php"); ->ok

$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");
$db="gb";
mysql_select_db($db);
Die drei Zeilen würde dich in die connect.php geben


$abfrage = "SELECT * FROM gb DESC";
1. * sollte nicht verwendet werden!!!
2. DESC was soll DESC werden? Du liest ja nur alle Spalten aus der Datenbank aus, von Sortieren hast du nichts geschrieben. Also nützt die die Sortierart auch nichts!

$ergebnis = mysql_query($abfrage,$verbindung);
Naja besser wäre:
$ergebnis =send_sql($db,$abfrage);


while($row=mysql_fetch_array($ergebnis)){ ->ok

$name = $row['Name']; ->wozu?
$email = $row['Email']; ->wozu?
$inhalt = $row['Text']; ->wozu?


echo "<table width='90%' valign='top' align='center'>
<tr><td width='75%' align='left'><b><a href=mailto:".$email.">".$name."</a></b></td></tr></table>";


Richtiger wäre es so:
echo "<table width=\"90%\" valign=\"top\" align=\"center\">
<tr><td width=\"75%\" align=\"left\"><b><a href=\"mailto:$email\">$name</a></b></td></tr></table>";


$inhalt = nl2br($inhalt); -> ???


echo "<table width=\"90%\" align=\"center\"><tr><td colspan=\"2\">$inhalt</td></tr></table>";

geändert!

} ->ok

?> ->ok

So sollte es funktionieren!

Rajan
 
Normale Angabe zum Sortieren:
ORDER BY [Feld] [Sortierung]

Du willst das warscheinlich nach dem Datum sonrtieren.
Also z.B.
SELECT * FROM gb ORDER BY Datum DESC

Habe so eine SQL-Anweisung wie deine noch nie gesehen.
Hab sie gerade getestet und sie funktioniert nicht.

Also:
SQL-Anweisung ändern. Dann klappts auch mit dem Nachbarn...
 
Ich habs aus einem Tutorial, da ich ja auch noch ein bin ;)

Das Problem ist, das er die Tabellen und den Db-Inhalt nicht anzeigt ^^
 
Zurück