html filtern und datumssotierung

Rev

Erfahrenes Mitglied
hi ;)
ich habe 2 fragen:
- gibt es ne andre möglichkeit html eingaben eines users zu filtern außer mit nem replace von < (also das er bei der eingabe aus jedem < zb ein ? macht)
- wie bring ich sql bei das die ausgabe vom kleinsten vom größten zum kleinsten eintragsdatum (also mach nen $datum=date('Y-m-d H:i:s'); ) sotiert? ich schreib grad an nem boardsystem und die einträge sollen nach datum sotiert werden (aktuellster eintrag ganz oben) ;
 
Ich denke deine Fragen sind recht leicht zu beantworten:

HTML filtern
Schau dir dazu mal die Funktion strip_tags() an. Aber bei der Ausgabe die Reihenfolge beachten.

Erst strip_tags() und dann nl2br()! Sonst erstellt er die <br> und löscht sie danach gleich wieder.

PHP:
$text = nl2br (strip_tags ($text));

Sortieren nach Datum
Das ist ganz einfach. Nehmen wir mal an du hast das Datum in der Datenbank als DATETIME gespeichert. (TIMESTAMP würde auch gehen). Du kannst jetzt mit folgender SQL-Anweisung sortieren:

PHP:
$sql = "SELECT * FROM tabelle WHERE ... ORDER BY datum DESC";
 
und wie ist das wenn ich statt *datetime* 2 spalten habe, einmal date und einmal time ???

wie kann ich dann sortieren von oben nach unten/neuester zu ältester beitrag ?
 
Angenommen, Datum und Zeit sind nicht in Strings, sondern ganzzahlig gespeichert, wobei "je später, desto größer der Wert" gilt.
PHP:
$query = "SELECT * FROM tabelle WHERE ... ORDER BY date DESC, time DESC";
Damit wird mySQL angewiesen, nach 'date' zu sortieren. Wenn 'date' allein nicht mehr reicht, um die Einträge eindeutig zu sortieren (wenn also zwei oder mehrere Zeilen den gleichen Wert für 'date' haben), bedient sich mySQL der zweiten Sortierungsvorschrift, die wir ihm mitgegeben haben, nämlich absteigend nach 'time'.

Wenn das ganze allerdings in einem String-Format gespeichert ist, muss man wohl auf PHP-Funktionen zurückgreifen.
 
Zurück