OK, fangen wir mal an...
Zitat:
a) alles anzeigen lassen?
|
hierfür baust du dir eine schleife, und fragst in jedem durchlauf einen datensatz ab, und stellst diesen dar:
PHP-Code:
$anzahl = "SELECT Count(*) as total FROM `tabelle`";
$anzahl = mysql_query($anzahl, $verbindung);
for($counter = 0; $counter < $anzahl; $counter++) {
$datensatz = "SELECT * FROM `tabelle` LIMIT $counter, 1";
$Datensatz = mysql_query($datensatz, $verbindung);
$datensatz = mysql_fetch_array($Datensatz);
# Hier dann die Ausgabe machen, glaube du weißt wie das geht
}
und weiter...
Zitat:
b) nach den Kategorien sortieren lassen
|
dazu fügst du deiner abfrage einfach eine WHERE-Klausel hinzu, also so:
PHP-Code:
$anzahl = "SELECT Count(*) as total FROM `tabelle` WHERE `kategorie` = 'irgentwas'";
$anzahl = mysql_query($anzahl, $verbindung);
for($counter = 0; $counter < $anzahl; $counter++) {
$datensatz = "SELECT * FROM `tabelle` WHERE `kategorie` = 'irgentwas' LIMIT $counter, 1";
$Datensatz = mysql_query($datensatz, $verbindung);
$datensatz = mysql_fetch_array($Datensatz);
# Hier dann die Ausgabe machen, glaube du weißt wie das geht
}
und zu guter letzt...
Zitat:
c) mit welcher Funktion kann ich die alten Daten heraus filtern?
|
Dazu baust du eine andere WHERE-Klausel ein, natürlich muß dazu ein timestamp, also eine Unix-Zeit im Datensatz enthalten sein:
PHP-Code:
$anzahl = "SELECT Count(*) as total FROM `tabelle` WHERE `timestamp` > '".mktime()."'";
$anzahl = mysql_query($anzahl, $verbindung);
for($counter = 0; $counter < $anzahl; $counter++) {
$datensatz = "SELECT * FROM `tabelle` WHERE `timestamp` > '".mktime()."' LIMIT $counter, 1";
$Datensatz = mysql_query($datensatz, $verbindung);
$datensatz = mysql_fetch_array($Datensatz);
# Hier dann die Ausgabe machen, glaube du weißt wie das geht
}
Durch diese Anweisung werden nur Daten ausgegeben, die in der Zukunft liegen. Kombinieren kannst du diese Abfragen mit einem AND oder einem && in der Abfrage, also so:
PHP-Code:
$anzahl = "SELECT Count(*) as total FROM `tabelle` WHERE `kategorie` = 'irgentwas' AND `timestamp` > '".mktime()."'";
$anzahl = mysql_query($anzahl, $verbindung);
for($counter = 0; $counter < $anzahl; $counter++) {
$datensatz = "SELECT * FROM `tabelle` WHERE `kategorie` = 'irgentwas' AND `timestamp` > '".mktime()."' LIMIT $counter, 1";
$Datensatz = mysql_query($datensatz, $verbindung);
$datensatz = mysql_fetch_array($Datensatz);
# Hier dann die Ausgabe machen, glaube du weißt wie das geht
}
zu deiner letzten frage...
Zitat:
Kann man das auch so einrichten, dass das Programm mir die alten Daten auch aus der Datenbank herauslöscht?
|
sicherlich geht das, dazu machst du einfach beim aufruf einen query, der die Inhalte löscht, die vor dem aktuellen timestamp sind, also so:
PHP-Code:
$loeschen = "DELETE FROM `tabelle` WHERE `timestamp` < '".mktime()."'";
mysql_query($loeschen, $verbindung);
Ich hoffe, diese Antwort war Ausführlich genug am frühen morgen. Bei weiteren Unklarheiten einfach fragen!
MfG CyberAge