Sind fortlaufende Zahlen an bestimmten wiederholbaren Bereichen in einem HTML Dokument möglich?
Hallo,
ist es möglich in einem Feld/Bereich z.B. in Zeilen von Tabellen, die je nach Dokument unterschiedlich oft vorhanden sind, eine fortlaufende Nummerierung einzubinden? Ich suche dafür eine Lösung in einem HTML Dokument.
Also Beispiel habe ich eine Tabelle mit 4 Produkten und je nach Anzahl würde ich gerne rechts die Position (1, 2, 3, 4) stehen haben (siehe Bild).
Vielen Dank im Voraus.
3 Antworten
Mit dem ol-Element kannst du eine nummerierte Auflistung kreieren.
Aus
<ol>
<li>Eins
<li>Zwei
<li>Drei
</ol>
wird
- Eins
- Zwei
- Drei
Mit einem Tabellenelement ist dies zwar nicht vermischbar, - Auflistung bleibt Auflistung - doch du kannst die Auflistung dennoch weiter ausbauen (in jeden Listeneintrag ein Container-Element setzen, welches sich nochmal unterteilt), vor allem unter Einsatz von CSS.
Noch eine zweite Option, die dir offenstände, allerdings auf CSS basiert, wäre das counter-increment-Property. In einer Tabelle könnte man ein Pseudoelement an jede erste Spalte einer Tabellenzeile hängen.
table {
counter-reset: my-counter;
}
td:first-child::before {
counter-increment: my-counter;
content: counter(my-counter);
}
Mit reinem HTML ist dies nicht möglich, da damit nichts "berechnet" werden kann. Du müsstest das Dokument serverseitig generieren (mit JavaScript, PHP, Java oder anderen).
Clientseitig kannst du das mit ein wenig Gebastel auch mit JavaScript machen. Am einfachsten wäre es dann aber, wenn du die ganze Tabelle mit JavaScript generierst und die Daten der Tabelle zum Beispiel als JSON von einer eigenen API abfragst.
Normalerweise, wenn du mit Produkten arbeitest hast du im Hintergrund eine Datenbank, die dir diese ausgibt. Abfragen kannst du das mit etwaigen Sprachen. Mit diesen baust du dann auch die jeweilige Tabelle zusammen. Aus der Anzahl der Produkte bekommst du die Nummerierung. Diese machst du dann in der jeweiligen Sprache (z.B. JavaScript oder PHP).
Mit Plain-HTML ist das nicht möglich. Es sei denn, du schreibst diese hardcoded in die Seite rein. Besser wäre, wenn du für den Anfang mit PHP oder auch JavaScript eine Tabelle erstellst und dort per Script die Nummerierung einträgst.