[PHP] Die letzten 4 Datensätze von SQL ind php-Datei ausgeben lassen

  • Ersteller Ersteller SGD-Daniel
  • Erstellt am Erstellt am
S

SGD-Daniel

Gast
Hallo,

ich möchte gern die letzten 4 Datensätze auf php-Seiten ausgeben lassen. Was muss ich hierbei ändern?

$db = @mysql_connect ($db_host, $db_user, $db_pass) or die ("Die Datenbankverbindung konnte nicht hergestellt werden. Bitte versuchen Sie es später nochmal.");
@mysql_select_db($db_name,$db) or die ("Die Datenbank konnte nicht ausgewählt werden. Bitte versuchen Sie es später nochmal.");
$strSQL = "SELECT * FROM tabelle ORDER BY datum DESC";
$result = mysql_query($strSQL);
while($row = mysql_fetch_row($result)) {
?>

<table width="600" bgcolor="#00005F" align="center">
<tr><th align="left" colspan=2 bgcolor="#000050">
<font size=2 color="#CCBB00"><b>
<?
echo $row[1];
?>
</b></font>
</th></tr>
<tr><td align="left" width="300" bgcolor="#000055">
<font size=2 color="#EDCCA0">
<?
echo $row[0];
?>
</font>
</td><td align="left" width="300" bgcolor="#000055">
<font size=2 color="#EDCCA0">
<?
echo $row[2];
?>
</font>
</td></tr>
<tr><td colspan=2>
<p align="justify">
<font size=2>
<?
echo $row[3];
?>
</font>
</p></font></td></tr>
</table><br><br>
<?
}
mysql_close;
?>
</td>
</tr>
</table>
 
Hi,

ändere einfach folgende Zeile:

PHP:
$strSQL = "SELECT * FROM tabelle ORDER BY datum DESC";

in diese hier:
PHP:
$strSQL = "SELECT * FROM tabelle ORDER BY datum DESC LIMIT 0, 4";


Ciao
 
Nein Du sortierst ja vorher umgekehrt (DESC), so dass die letzten 4 DS die ersten 4 in der Resultliste sind ;)
 
Stimmt, funktioniert auch.

Und wenn ich aus 2 Tabellen, dass zusammen in eine Abfrage machen will?
 
SGD-Daniel schrieb:
Stimmt, funktioniert auch.

Und wenn ich aus 2 Tabellen, dass zusammen in eine Abfrage machen will?


Dann machst Du das genauso. Intern verbindet MySQL und so ziemlich jeder andere SQL-Server auf der Welt, eine solche Abfrage in eine neue virtuelle Tabelle. Bei manchen Servern kann man diese Tabellen sogar speichern. Sowas nennt man dann Views. Lange Rede, kurzer Sinn: Die Anweisung musst Du jedenfalls nicht ändern, mit LIMIT kannst du die Anzahl der gewählten Datensätze begrenzen.

Ciao
 
Vllt. sollte man noch hinzufügen, dass der LIMIT Befehl quasi immer erst zum Schluss angewendet wird, nach allen Abfragen. Er beeinflusst /beschneidet also nur die Ergebnisliste, die Du bekommst, nicht die Abfrage bzw. Datenbanktabelle selber.
Die Abfrage/ Suche selber findet also immer über die ganze Tabelle(n) statt und das eRgebnis wird dann nur limitiert.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben