2.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von tomham Mitglied (407 Punkte)
Hallo Leute!

Hab wieder mal ein kleines Problemchen mit nem Script ...
Dieses mal für mein Gästebuch.
Als erstes mal die Problembeschreibung: Gästebuch (ESC-Taste beim laden drücken !!!!)

und hier der code dazu:

function typebook(){

echo "*** Gästebuch ausgeben ***";

$host="*****";
$benutzer="*****";
$passwort="*****";
$dbname="*****";
$dbserver=mysql_connect($host, $benutzer, $passwort);
mysql_select_db($dbname, $dbserver);

$sql="SELECT * FROM guestbook";
$result = mysql_query($sql) or die("Fehler:".mysql_error());
$rows = mysql_num_rows($result);
echo $result; //ergibt "Resource id #3"
echo $rows; //ergibt "1"
$x=1;
while ($x <= $rows){ // solange Einträge in der DB da sind
$name=mysql_result($result,$x,"name");
$mail=mysql_result($result,$x,"mail");
$msg=mysql_result($result,$x,"msg");

echo "<table><td>";
echo "<tr>Name: <a href=\"mailto:$mail\">$name</a></tr>";
echo "<tr>Nachricht: $msg</tr>";

} // while ENDE

mysql_close($dbserver);

} // function typebook ENDE


Die Verbindung zur Datenbank klappt fehlerlos.
Würd mich freuen wenn mir da jemand helfen könnte.
Ist sicher wieder nur ein kleiner Logikfehler oder Tipfehler (wie so oft bei mir) aber ich finds nicht ...

Danke schon im Voraus!
tomham

3 Antworten

0 Punkte
Beantwortet von tomham Mitglied (407 Punkte)
Hallo Leute.

Hab bereits einen Fehler gefunden.
Hatte vergessen x zu erhöen (hab das jetzt nachgeholt, man muss jetzt nicht mehr ESC drücken beim laden).
$x=$x+1;

So am Fehler hat sich jedoch nichts geändert.

Gruß
tom
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
In der Doku de3.php.net/manual/en/function.mysql-result.php steht eindeutig:
row
The row number from the result that's being retrieved. Row numbers start at 0.

Du beginnst aber mit 1. Änder deinen Code wie folgt ab:

$x=0;
while ($x < $rows){ // solange Einträge in der DB da sind
0 Punkte
Beantwortet von tomham Mitglied (407 Punkte)
Hallo son_quatsch.

Danke für die Info mit der Null.
Weiß nicht wo ich meine Gedanken hatte ...

musste dann in der Prüfung für die Schleife das <= durch ein < ersetzen und jetzt gehts.

Danke für die mithilfe ;-)
Gruß
tom
...