While Schleife: Letztes Element anders formatieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • herbertstanley
    antwortet
    Zitat von Baracuda-man Beitrag anzeigen
    Hallo Leute Space Waves,

    ich habe mal wieder ein Problem und weiß nicht wie ich dieses lösen soll. Also ich habe eine While Schleife:

    HTML-Code:
    while($daten = mysql_fetch_assoc($query))
    {
    $date = date("d.m",$daten[timestamp]);
    $text= nl2br($daten['text']);
    echo "<tr><td class='date'>$date</td>";
    echo "<td class='inhalt'>$text</td>";
    echo "</tr>";
    }
    Nun möchte ich das das letzte Element der While Schleife anders formatiert ist. Genauer gesagt soll die letzte td die class inhalt_last bekommen.

    Hintergrund ist folgender:
    Die einzelnen Tabellenspalten (tr) sind jeweils mit border_bottom durch eine Border getrennt. Das letzte Element soll jedoch keine border bekommen.

    Ich hoffe ihr könnt mir sagen wie ich das löse. Vielen Dank schonmal im vorraus.

    Liebe Grüße
    Dennis
    Hallo Dennis,
    ein klassisches Problem – aber gut lösbar! Eine Möglichkeit wäre, zuerst alle Datensätze in ein Array zu laden und danach mit einer for-Schleife oder foreach zu iterieren. So kannst du das letzte Element ganz einfach erkennen und gezielt anders formatieren.​

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Hallo,

    vor der Schleife $i = 0 setzen, in der Schleife $i++ ausführen und schon hast du einen Zähler. Mit mysql_num_rows kannst du ermitteln, wieviele Datensätze es gibt. Diese Anzahl in einer Variable zu speichern und in der Schleife mit dem Zähler zu vergleichen, bekommst du sicher selbst hin.

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • Baracuda-man
    antwortet
    Danke schonmal,

    ich wollt dann doch eine Methode nehmen die bei allen Browser funktioniert.
    Das mit dem Zählen der Einträge habe ich jetzt schon mehrfach über Google gefunden. Bisher konnte ich aber noch keine Anleitung umsetzen
    Ich weiß nicht genau wie ich die Einträge zähle und wie ich dann dem letzten Element eine andere Formatierung gebe.

    Ich hoffe du kannst mir das nochmals genauer erklären.

    Liebe Grüße

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Wenn du damit leben kannst, dass es nur halbwegs moderne Browser unterstützen: CSS-Pseudoklasse :last-child, und fertig.

    Ansonsten, wenn du das wirklich HTML-seitig lösen willst: Vorher abfragen, wie viele Datensätze es gibt, dann einen Zähler mitlaufen lassen und bei jedem Durchlauf schauen, ob du den letzten erreicht hast.

    Einen Kommentar schreiben:


  • Baracuda-man
    hat ein Thema erstellt While Schleife: Letztes Element anders formatieren.

    While Schleife: Letztes Element anders formatieren

    Hallo Leute,

    ich habe mal wieder ein Problem und weiß nicht wie ich dieses lösen soll. Also ich habe eine While Schleife:

    HTML-Code:
    while($daten = mysql_fetch_assoc($query)) 
    {
    $date = date("d.m",$daten[timestamp]);
    $text= nl2br($daten['text']);
    echo "<tr><td class='date'>$date</td>";
    echo "<td class='inhalt'>$text</td>";
    echo "</tr>"; 
    }
    Nun möchte ich das das letzte Element der While Schleife anders formatiert ist. Genauer gesagt soll die letzte td die class inhalt_last bekommen.

    Hintergrund ist folgender:
    Die einzelnen Tabellenspalten (tr) sind jeweils mit border_bottom durch eine Border getrennt. Das letzte Element soll jedoch keine border bekommen.

    Ich hoffe ihr könnt mir sagen wie ich das löse. Vielen Dank schonmal im vorraus.

    Liebe Grüße
    Dennis
Lädt...
X