Testa nåt sådant här i mySQL frågan
SELECT Namn FROM Databas ORDER BY ID DESC LIMIT 10
------------------
You play by the rules, you die by the rules
[Redigerat av UrMe den 25 maj 2001]
8 svar · 268 visningar · startad av oelbal
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! :e
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....
Exempel?
------------------
Mina knäskålar klapprar fortfarande efter Kent-Mustafas trummsolo!
Testa nåt sådant här i mySQL frågan
SELECT Namn FROM Databas ORDER BY ID DESC LIMIT 10
------------------
You play by the rules, you die by the rules
[Redigerat av UrMe den 25 maj 2001]
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...
// Too slow...
[Redigerat av nicclas den 25 maj 2001]
DESC är väl att den sorterar efter det största ID:et först.. eller?
------------------
You play by the rules, you die by the rules
humm......Ja, nicclas, jag kanske skall sortera efter datum istället....
När jag skapade tabellen, så satte jag ID så här: ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Det är väl rätt? Då ökar väl ID?
------------------
Mina knäskålar klapprar fortfarande efter Kent-Mustafas trummsolo!
[Redigerat av oelbal den 25 maj 2001]
Ja, visst är det så :)
Efter noga övervägande kom jag på att jag inte har en aning om hur jag plockar ut de 10 senaste datumen och visar deras info......
Någon som känner för att spendera någon minut på denna tråd?
------------------
Mina knäskålar klapprar fortfarande efter Kent-Mustafas trummsolo!
Lägg till en datumkolumn. (timestamp)
<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>
------------------
SteveNet
------------------
- Det var motgräs!
Roland Sandberg förklarar varför han missade öppet mål.
[Redigerat av stevenet den 25 maj 2001]
humm.....
Jag antar att Timestamp är automatiskt och fyller i sig självt?
Har för mig att jag läset det i MySQL manualen....
------------------
Mina knäskålar klapprar fortfarande efter Kent-Mustafas trummsolo!