also ich hab mir selber ne kleine shoutbox geschrieben die mit tabellen funktioniert. Es sollen immer die letzten 3 shouts angezeigt werden!
Nun code in die index.php gecodet und mit db->blabla dann while balbla zum abhohlen und im index.tpl das ganze mit einer variable ausgegeben.
Das Problem ist, dass er immer nur einen shout anzeigt. Wie bekomme ich das hin das er 3 anzeigt bzw überhaupt mehrere ? Er zeigt immer nur den letzten an. Warum das so ist, ist mir klar, nur wie ich das lösen soll nicht ^^
vielen dank für alle antworten und sorry für so ne sch*** beschreibung!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von GHC: 28.01.06 22:15.
1.) für die letzten 3 Datensätze aus der MySQL-Datenbank zu bekommen, nimmst du deinen SQL-Code und ergänzt ihn durch folgendes:
code:
1:
LIMIT 3 ORDER BY posttime DESC
Wobei posttime das Feld sein muss, welches die Zeit beinhaltet.
2.) um mehrere Datensätze durch ein gleiches Template ausgeben zu lassen wäre sowas hier nötig:
php:
1:
2:
3:
4:
5:
6:
$shoutbox_bit = "";
while( $row = $db->fetch_array($result) )
{
//Verarbeitung der Daten aus der DB, wie Timestamp in lesbare Zeit umwandeln
$shoutbox_bit .="<tr><td>(".$row['time'].")".$row['username'].": ".$row['message']."</td></tr>";
}
Hier habe ich den HTML-Code direkt verwendet, welche für mehrere Spalten zuständig sein kann. Durch den .= Operator fügst du einen String an eine Variable an (anhängen = attach). Die Feldnamen und Variablen sind jetzt einfach mal aus der Luft gegriffen
aber ich denke du wirst sie schon gut genug umsetzen können
Nun die Variable $shoutbox_bit im Template nach dieser Anweisung ausgeben lassen. Fertig