/ / Alternatywa dla tabel zagnieżdżonych - html, html-table, zagnieżdżona

Alternatywa dla tabel zagnieżdżonych - html, html-table, zagnieżdżona

Obecnie używam tabel zagnieżdżonych html doprezentować dane wyjściowe z zapytania SQL. Jednak ponieważ tabele zagnieżdżone html zajmują dużo pamięci, szukam alternatywy. Czy mogę w jakiś sposób utworzyć kilka tabel obok siebie, które osiągną taki sam rezultat?

Opcja 1 - obecne rozwiązanie:

<table>
<td>
<table class="s">
<tr><td></td></tr>
</table>
</td>
</td>
<table class="s">
<tr><td></td></tr>
</table>
</td>
</table>

Opcja 2

<table class="s">
<tr><td></td></tr>
</table>

...

<table class="s">
<tr><td></td></tr>
</table>

PS. przepraszam za dziwne powyższe formatowanie, ale wciąż wycinam kod za pomocą tagów

Odpowiedzi:

0 dla odpowiedzi № 1

Ponieważ stronicowanie nie jest opcją ...

Masz rację, że to nie ma znaczeniatechnologia, z której korzystasz - więcej ciekawości niż cokolwiek z mojej strony. Ponadto nie znam PHP, więc proszę o moje pomysły jako abstrakcyjne. Czy próbowałeś / rozważyłeś następujące (stworzyłem skrzypce, aby zademonstrować graficzną część tego http://jsfiddle.net/ninja1/ynuDV/):

  • Użyj "tabeli" CSS, aby zdefiniować wyświetlanie dla wszystkich / wszystkich "tabel" w danej stronie display:inline-block;
  • Renderuj pierwszą tabelę bez zagnieżdżania. Użyj przycisku lub innego elementu sterującego, który ma mieć dźwignię / klucz / rowId / userId, niezależnie od tego, co odzwierciedlałby twój wybór.
  • Następnie przechwycisz działanie tej kontroli, jeślibutton - wtedy, gdy kliknięto przycisk, wywołałoby to metodę tworzenia drugiej tabeli dynamicznie i programowo w oparciu o wybór z table1.
  • Gdy tabela 2 została wyrenderowana z danymi wejściowymi ztable1, ta sama reguła miałaby zastosowanie do table2. Ponownie użyj kontrolki i przechwyć / wykorzystaj wybór z tabeli 2, a następnie uzyskasz dane wejściowe dla tabeli 3, która zostanie utworzona programowo.

Jak widzisz przy skrzypcach, które tutaj przywiązałem;spróbuj zmienić rozmiar panelu, chwytając środkowy rozdzielacz i przesuwając go w lewo / prawo. Zauważysz, że tabele są ustawione obok siebie, jeśli pozwala na to rozmiar ekranu.

Mam nadzieję, że to pomaga :) daj mi znać.


Myślę, że najlepszą opcją jest udostępnienie stronicowania przy stole.

Dodatkowo możesz pozwolić użytkownikowi ustawićrozmiar renderowanej strony - dzięki czemu mogą zoptymalizować swoją najlepszą wydajność. Więc będziesz miał pole tekstowe pod tabelą, które użytkownik może edytować i jest wstępnie wypełnione początkową decyzją, powiedzmy 20 rekordów na stronę.

Na koniec, upewnij się, że zaimplementowano zapytanie SQL / zapisany proces z parametrami rozmiaru strony i numeru strony, więc baza danych wykonuje logikę i zwraca tylko wymagany zestaw danych. Rozważ coś takiego http://blog.sqlauthority.com/tag/sql-paging/