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 № 1Ponieważ 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/