Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Tabela z danymi. Możliwośc wybierania danych
Forum PHP.pl > Forum > PHP
kukix
Witam.

Zasatanwaim się nad pewnym mechanizmem.

Mam tabele z danymi np 12 kolumn. Chciałbym mieć możliwośc wybierania w przez użytkownika, które kolumny ma widzieć. Potrafie zrobić taką opcje, mam jednak dylemat co do wydajności tego rozwiązania.

- Wersja 1 polega na tym, że w pętli przy kazdym polu <TD>***</TD> daje warunek sprawdzający czy dana komórka ma się pokazywac. Obawiam się jednak, że przy liscie np 200 pozycji i 12 polach aje to 2400 warunków IF.

- Wersja 2 polega na ukrywaniu niepotrzebnych kolumn przez JS, jednak pobieranych jest dużo danych na słąbszych komputerach moga byc problemy z wydajościa oraz np na tabletach.


Czy jest jakieś inne wyjscie aby móc wybierać które kolumny w danym momencie mają być wyświetlane na liście?

Pozdr.
nospor
Cytat
- Wersja 1 polega na tym, że w pętli przy kazdym polu <TD>***</TD> daje warunek sprawdzający czy dana komórka ma się pokazywac. Obawiam się jednak, że przy liscie np 200 pozycji i 12 polach aje to 2400 warunków IF.

Całe nic.

Jak cie te IFy tak bardzo bolą, to leć forem po dozwolonych polach i generuj tylko dla nich TD
trueblue
Możesz na podstawie decyzji użytkownika (pól które wybrał) dynamicznie zbudować zapytanie select.
kukix
Cytat(trueblue @ 20.04.2014, 21:27:59 ) *
Możesz na podstawie decyzji użytkownika (pól które wybrał) dynamicznie zbudować zapytanie select.

tak, tylko, że wiele z tych pól wymaga specjalnego traktowania. pola select, checkbox, dane pobierane z innych tablic na podstawie id itp.

Pozostaje chyba po ptostu dorobić if'y przy każdym znaczniku <TD>
trueblue
A jeśli wybierasz wszystkie, to jak je traktujesz?
Zrób sobie tablicę z metadanymi (w bazie lub w PHP), danymi o kolumnach w tabeli, z której wybierasz, np.
POLE1 text
POLE2 checkbox
POLE3 radio
POLE4 text
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.