Gästebuch mit MySQL

iLu_is_a_loser

Erfahrenes Mitglied
Hallo ich bin gerade dabei ein Gäastebuch zu machen und habe festgestellt.....

das wenn ich ein neuen eintrag mache steht dieser zwar immer oben aber die Nummer dieses Eintrages stimmt nicht... den beim neusten steht immer 1 und bei dem davor 2....... kann man das irgendwoie ändern

heir ist der Code:

PHP:
 <?php
$db=mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx", $db);
$result=mysql_query("SELECT * FROM gaestebuch ORDER BY datum DESC LIMIT 30", $db);
for($i=0; $i<mysql_num_rows($result); $i++)
{
   $gaestebuch[$i]=mysql_fetch_object($result);
}
echo "<br>";
for($i=0; $i<mysql_num_rows($result); $i++)
{
   echo "<table border=\"0\" style=\"font-family: verdana; font-size: 10; border: 1px solid #999999; background-color: #F4F4F4\"><tr>",
		"<td>",
		$i+1,
		": ",
		$gaestebuch[$i]->titel,
		"</b></td>",
		"</tr>",
		"<tr>",
		"<td>",
		nl2br($gaestebuch[$i]->eintrag),
		"</td>",
		"</tr>",
		"<tr>",
		"<td>Eintrag von <b>",
		$gaestebuch[$i]->name,
		"</b> am <b>",
		substr($gaestebuch[$i]->datum, 8, 2),
		".",
		substr($gaestebuch[$i]->datum, 5, 2),
		".",
		substr($gaestebuch[$i]->datum, 0, 4),
		" um ",
		substr($gaestebuch[$i]->datum, 10),
		" Uhr</b></td>",
		"</tr>",
		"<br>";
}
echo "</table><br>";
?>
 
Hi hast du mal probiert das mit ASC sotieren zu lassen?

PHP:
<?php
$db=mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx", $db);
$result=mysql_query("SELECT * FROM gaestebuch ORDER BY datum ASC LIMIT 30", $db);
for($i=0; $i<mysql_num_rows($result); $i++)
{
   $gaestebuch[$i]=mysql_fetch_object($result);
}
echo "<br>";
for($i=0; $i<mysql_num_rows($result); $i++)
{
   echo "<table border=\"0\" style=\"font-family: verdana; font-size: 10; border: 1px solid #999999; background-color: #F4F4F4\"><tr>",
        "<td>",
        $i+1,
        ": ",
        $gaestebuch[$i]->titel,
        "</b></td>",
        "</tr>",
        "<tr>",
        "<td>",
        nl2br($gaestebuch[$i]->eintrag),
        "</td>",
        "</tr>",
        "<tr>",
        "<td>Eintrag von <b>",
        $gaestebuch[$i]->name,
        "</b> am <b>",
        substr($gaestebuch[$i]->datum, 8, 2),
        ".",
        substr($gaestebuch[$i]->datum, 5, 2),
        ".",
        substr($gaestebuch[$i]->datum, 0, 4),
        " um ",
        substr($gaestebuch[$i]->datum, 10),
        " Uhr</b></td>",
        "</tr>",
        "<br>";
}
echo "</table><br>";
?>

Hoffe es liegt daran.

Gruß
 
Es hat sich doch was geändert...... nämlcih jetzt passt die Numemr zum Eintrag blos jetzt wird der neuste Eintrag ganz unten angezeigt...... wie mach ich das nun wieder?
 
Also ich lese meine einträge aus meinem gecodeten GB so aus:
PHP:
$sql = "SELECT * FROM geastebuch ORDER BY id DESC";
if (!$res_id = mysql_query($sql))
	die('Fehler! Daten konnten nicht ausgelesen werden.');
	while ($auslesen = mysql_fetch_array($res_id))

Vieleicht hilft dir das ja ein wenig.
 
dann muss ich doch wieder eine neue Tabelle dazu fügen oder nicht? Die id heisst....


Und wie mach ich das den das bei jedem neuen Eintrag id um 1 erhöht wird?
 
Wenn du dir das Manual von mySQL mal durchliest (das ist der Link, den ich dir gepostet habe), dann wirst du auch die Antwort auf deine Frage finden. Wenn du keine Lust hast, dir das Manual durchzulesen, dann solltest du das Programmieren sein lassen.
 
ich hab mir das angeguckt bloß ich finde nirgendwo etwas darüber.... wie ich jetzt die Tabelle jedes mla um 1 erhöhe sodass jeder Eintrag ne neue Numemr hat und nämlcih die höchste...

momentan ist es ja so das die Numemr zum Eintrag passt aber der älteste Eintrag steht ganz oben und das möchte ich nicht.
 
Zurück