Jag är ganska ny på MySQL, men jag skall försöka beskriva mitt problem för er.
Jag har en tabell med 20 olika rader, som alla innehåller 2 st kolumner enligt följande:
+----+------+
| ID | Namn |
+----+------+
| 1 | Bert |
+----+------+
| 2 | Arne |
+----+------+
| 3 | Knut |
+----+------+
(osv.)
Så här kan man ju göra för att skriva ut allt som står i NAMN med PHP:
<html>
<head>
<title>Test av Databas</title>
</head>
<body>
<?
$database = @mysql_connect("HOST","ANVÄNDARE","LÖSENORD");
if (!$database) {
echo("<p>Ett fel inträffade.</p>" );
exit();
}
if (!@mysql_select_db("Databas")) {
echo("<p>Ett fel inträffade.</p>");
exit();
}
?>
<p>Här är alla namn i databasen:</p>
<blockquote>
<?
$resultat = mysql_query("SELECT Namn FROM Databas");
if (!$resultat) {
echo("<p>Ett fel inträffade.</p>");
exit();
}
while ($rad = mysql_fetch_array($resultat)) {
echo("<p>" . $rad["Namn"] . "</p>");
}
?>
</blockquote>
</body>
</html>
.....tror jag!
Men hur gör då för att alltid välja ut de 10 senaste (högsta) ID'na och skriva ut deras info?
Man kan ju inte bara välja nummer 11-20 eftersom det hela tiden byggs på nya rader....
Byt:
SELECT Namn FROM Databas
mot
SELECT Namn FROM Databas order by ID desc limit 10
Hmm, kan inte sånt här, men jag gissar att ett ID är något du låter MySQL generera, eller hur. Vet faktiskt inte om MySQL "garanterar" att ID-nummret växer (vet dock att ID är unikt för varje "rad"). Kanske borde du komplettera databasen med en kolumn "datum" som du sorterar efter...
<html>
<head>
<title>Test av Databas</title>
</head>
<body>
<?
$database = @mysql_connect("HOST","ANVÄNDARE","LÖSENORD");
if (!$database) {
echo("<p>Ett fel inträffade.</p>" );
exit();
}
if (!@mysql_select_db("Databas")) {
echo("<p>Ett fel inträffade.</p>");
exit();
}
?>
<p>Här är alla namn i databasen:</p>
<blockquote>
<?
$resultat = mysql_query("SELECT * FROM Databas ORDER BY datum DESC LIMIT 10");
if (!$resultat) {
echo("<p>Ett fel inträffade.</p>");
exit();
}
while ($rad = mysql_fetch_array($resultat)) {
echo("<p>" . $rad["Namn"] . "</p>");
}
?>
</blockquote>
</body>
</html>