jQuery Plugin Datatables mit bestimmter anzahl an einträgen anzeigen?

5 Antworten

Ich würde das ganze via JavaScript bzw JQuery bauen und mir vom php nur ein JSON objekt geben lassen , hier hab ich mal den workflow ajax mit php gemacht und als beispiel dropsdowns organsisiert , praktisch kannst du dann nachladen und gleich die tabelle immer neu erzeugen lassen .
somit könnte man dann alles machen , also filtern suchen sortieren etc .

https://github.com/sheinatz/tools/tree/master/dropdown-cascade


Danke für die Antworten, ich hab es bis jetzt so gemacht, dass die PHP-Datei, welche die Einträge aus der Datenbank nimmt die HTML-Tabelle erstellt und das jeweilige <tr> mit einer klasse mit zahl versieht (.table_id_1 als Beispiel).

Mit jQuery kann ich dann mit einer Funktion mit while schleife erst alle reihen unsichtbar machen und darauf nur die ersten 5 sichtbar (  while (var <= 5)   )

Daran arbeite ich gerade noch, wenn ich fragen hab frag ich  :D

Falls sich um eine HTML-Tabelle handelt, könnte man probieren, einzelne Zeilen mit dem style-Attribut unsichtbar / sichtbar zu machen. In der Routine onClick() müsste der entsprechende HTML-Code geändert werden.

Funktioniert das nicht, könnte man in der Routine onClick() weitere Tabellen-Zeilen in das HTML-Dokument zwischen <table> ... </table> einfügen bzw. wieder löschen.

MonkeyKing  08.09.2017, 10:06

HTML würde ich nicht verändern, das kann einfach über CSS Manipulation gelöst werden.

0
surbahar53  08.09.2017, 10:08
@MonkeyKing

Richtig, aber wenn es sich um mehr als zwei Varianten (8 / 12 Zeilen) handelt, wird es mit CSS schnell unübersichtlich. Dann ist es einfacher, in das Dokument HTML-Code einzufügen.

0
Quattrofun 
Fragesteller
 08.09.2017, 10:50

geht leider nicht, da die Tabelle mit PHP erstellt wird. Es muss schon mit display: show etc.. gemacht werden, aber ich denke ich hab die Lösung jzt

0

Einfacher wäre es ein Zahleneingabefeld oder eine Dropdownliste zu machen wo dann die Anzahl der Zeilen angegeben werden können.

Wenn du die Anzahl hast gehst du mit einer foreach schleife durch jede Zeile und zählst immer einen Wert hoch, ist der Wert höher als eingegeben so kannst du per css die Zeile auf display: none setzen.

Woher ich das weiß:Berufserfahrung – Software-Entwickler
Quattrofun 
Fragesteller
 08.09.2017, 10:43

geht nicht, da es 3 feste Zahlen sein müssen, man soll diese später nicht mehr auf der Website verändern können

0

Ich kenne jetzt nicht das HTML Markup, aber vom Prinzip her: angenommen es gibt ein Parent DIV dass die Klasse "parent" hat und die divs darunter enthalten die entsprechenden Einträge. Dann kannst du z.B. in den onclick Handler so etwas schreiben:

onclick="$('.parent div').show();$('.parent div:nth-child(n+10)').hide();"

Also zeigst du erst alle Enträge und versteckst dann alle Einträge ab dem 10. Siehe auch:

https://css-tricks.com/useful-nth-child-recipies/