Einträge aus MYSQL-Datenbank ?

Hallo,

Ich möchte die 10 letzten einträge aus einer MYSQL Datenbank lesen … mit PHP3…

Wie mach ich das… ich hab alles mit der ID als Unique und aufsteigend in der Datenbank…


$sql = „SELECT id,artikel_name,preis,age from inserat_eintraege“;

$result=mysql_query($sql,$db); // Ausführen des SQL Querys

while ($erg=mysql_fetch_array($result))
{
echo $erg[„artikel_name“]);

}

Hier sollen jetzt nur die letzten 10 einträger der datenbank ausgegeben werden…

Danke, Gruss Sebastian

Hi, Wenn ich mich an mein SQL richtig erinnere. (Mein Buch hab ich grad nicht da) müßte die Anweisung ungefähr so lauten:

SELECT TOP 10 id,artikel\_name,preis,age FROM inserat\_eintraege ORDER BY id DESC;

Den Rest mußt du selbst machen, weil ich PHP (noch) nicht kann.

cu, holli

$sql = „SELECT id,artikel_name,preis,age from
inserat_eintraege“;

„SELECT blablabla from blablabla LIMIT 1,10“

oder eben nicht mit ner while-Schleife sondern mit ner for-schleife abfragen (gibt allerdings evtl. Probleme wenn weniger als 10 Einträge vorhanden sind).

MfG Bruno Haller

Danke, aber ich wollte die letzten 10 einträger und nicht die erste 10…

Gruss Sebi

da gibts mehrere Möglichkeiten, entweder du machst
mysql_num_rows (liefert die ANzahl Zeilen zurück) und liest sämtliche Zeilen und ignorierst den Inhalt bis du zu den 10 letzten gekommen bist.

Oder du machst eine Query „SELECT Count(*) AS anzahl FROM …“

$row = mysql_fetch_array($result);
$anzahl = $row[„anzahl“];

und dann die query:
$start = $anzahl - 10;
SELECT blablabla LIMIT $start, 10

Meine Lösung (sie andere Antwort) funktioniert doch prima.

holli

Ich habe gerade die komplette mysql-Doku nach „top“ durchsucht und da gabs das nirgends.

Bruno

Ich habe gerade die komplette mysql-Doku nach „top“ durchsucht
und da gabs das nirgends.

TOP ist ein Standard SQL-Schlüsselwort. Das gibts, glaub mir.

holli

TOP ist ein Standard SQL-Schlüsselwort. Das gibts, glaub mir.

habe es gerade mal auf eine Tabelle bei mir angewendet, nach deiner Syntax:

„SELECT TOP 3 username FROM users ORDER BY username ASC“

MySQL meldet: You have an error in your SQL syntax near ‚3 username FROM users ORDER BY username ASC‘ at line 1

Mmh. TOP ist auf JEDEN Fall Bestandteil der SQL-Syntax.
Kann sein, daß mySQL nicht alles korrekt implementiert hat.

In meinem Programmen (nutzen ORACLE und ACCESS-Datenbanken) funktioniert es ohne Probleme.

cu, holli

Wie waere es denn mit einer Kombination eurer beider Vorschlaege?

SELECT id,artikel_name,preis,age FROM inserat_eintraege ORDER BY id DESC LIMIT 1,10;

Gruss, Max

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]