Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie kolumn w tabeli
Forum PHP.pl > Forum > Przedszkole
Kryszic
Witam mam następujący problem :
Mam zrobine wyswietlanie tabeli w pewnym momencie dochodzimy do wypisania w kodu zawierającego nagłówki tabeli:
...
<CENTER><table valign=top BORDER width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="white">
<tr valign=top>
<td valign=top id="top"><CENTER>Lp.</CENTER></td>
<td valign=top id="top"><CENTER><strong><a href="historia.php?sort=nazwisko">Imie</a></strong></CENTER></td>
<td valign=top id="top"><CENTER><strong><a href="historia.php?sort=nazwisko">Nazwisko</a></strong></CENTER></td>
<td valign=top id="top"><CENTER><strong><a href="historia.php?sort=nr_iko">Nr iko</a></strong></CENTER></td>
<td valign=top id="top"><CENTER><strong><a href="historia.php?sort=wej">Data wejscie</a></strong></CENTER></td>
<td valign=top id="top"><CENTER><strong><a href="historia.php?sort=wyj">Data wyjscia</a></strong></CENTER></td>
</tr>';...
...
jak widzicie sa skonstrułowane w postaci linków ze zmienną sort. Po wciśnięciu na dany tytół nagłówka odbywa mi się sortowanie. Przed wyświetleniem tych nagłówków tabeli mam następujący kod obsługujący to:
....
if ( $_GET['sort']<>"")
{
if ($data_1<>"" && $data_2<>"")
{
$query="select imie,nazwisko, nr_iko,
convert (varchar,wej, (120)) as wej ,convert (varchar,wyj, (120)) as wyj
from obecnosci
where wej >='".$data_1." 00:00:00'
and wej <='".$data_2." 23:59:59'
and nazwisko like '%".$_POST['NAZWISKO']."%'
and nr_iko like '%".$_POST['nr_iko']."%'
order by ".$_GET['sort']." desc";
}
....
i teraz kiedy wybieram sobie w kombo boxie czas od .... do .... wyswietla sie wszysko idealnie kiedy do tego dokladam nazwisko lub nr_iko tez wszystko jest idealnie przefiltrowane i wyświetla mi sie wynik taki jak powinien. Gdy wciskam na któryś z nagłówków kolumn tabeli (tych z sortem) to sortowanie dziala dla domyslnie ustawionych dni takich jak sie ustawiają po wlczeniu aplikacji ale jeśli np ustawie sobie zeby wyniki byly filtrowane po iko lub po nazwisko lub wybiore inne dni przefiltruje mi sie to i dla tych wyników które mi się pojawią chciałbym wziąść sort (wcisnąć na nagłówek kolumny) to zamiast posortowanych wyników po przefiltrowaniu przez date nazwisko lub nr_iko pojawiają mi się posortowane wyniki dla domyślnej daty czyli bierzącego dnia. Jednym słowem sortuje sie tak jak bym wlaczyl aplikacje i nie filtrowal jej. Sortowane jest to co jest domyslnie wyswietlane przy wlaczeniu aplikacji.
Mam nadzieje ze problem wytłumaczylem dogłebnie jeśli ktoś ma jakiś pomysł to bardzo byłbym wdzięczny.
wipo
Wysyłaj argumenty przez GET a nie przez POST i zawsze przekazuj wszystkie parametry. Jeżeli jakieś nie występują to pozostaw je puste a przed wyświetleniem sprawdzaj !empty($_GET['argument'])
Kryszic
Nie o to chodzi wydaje mi sie to teraz dziala a to co jest post jest pobierane z pola w którym wpisuje sie wartosci z palca czyli nazwisko i imie i $_GET-em to nie działa ma być $_POST problem tkwi w $_GET['sort']. Ale jeśli biore wszystko na $_POST lub wszysko na $_GET to też nie dobrze na $_GET nie działa filtrowanie przez iko i nazwisko a na $_POST nie działa sortowanie po wciśnięciu w kolumne
wipo
Co ty gadasz że się nie da skoro wielkie serwisy na tym bazują
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.