• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP Sortowanie danych wysłanych metodą POST

Object Storage Arubacloud
0 głosów
440 wizyt
pytanie zadane 28 września 2018 w PHP przez zbrzyzny Nowicjusz (200 p.)
Witam wszystkich,

Niedawno zacząłem naukę PHP i robię swój pierwszy projekt. Obecnie zmagam się z następujacym problemem: dane z formularza wysłałem metodą POST, zostały one przetworzone i zwrócony został wynik z bazy danych. Domyślnie dane sortowane są po dacie i jest to już zamieszcone w zapytaniu SQL do bazy.

Zwrócone dane wyświetlają się na stronie, ale chciałbym aby można je było w każdej chwili posortować np. używając tagu select z html i wybierając inne parametry sortowania. Najlepiej aby nie wysyłać ponownie całego zapytania do serwera. W jaki sposób to zrobić tak żeby było dobrze? Czy zwrócone dane z php powinny znajdować się w tabeli czy mogą równie dobrze być w divach?

Z góry dziękuję za odpowiedzi i sugestie.

Pozdrawiam!

2 odpowiedzi

0 głosów
odpowiedź 28 września 2018 przez Misiek Mądrala (5,300 p.)
Rozumiem że chcesz wynik zapytania sortować według innych kryteriów ? jeśli tak to:

- albo wysyłasz kolejne zapytanie które zwraca wynik posortowany według innej parametru - tak wiem nie chcesz tego robić :)

- także drugie rozwiązanie jakie mi przychodzi to zapytanie załadować do tablicy i potem do niej się odnosić
komentarz 28 września 2018 przez zbrzyzny Nowicjusz (200 p.)

No właśnie te tabele mogą mi trochę popsuć wygląd całości, ale jak nic innego nie wskóram to spróbuję w ten sposób. Póki co zrobiłem taki select:

<div class="sort">
	<label for="sort-types" class="retroshadow3">Sortuj</label><br>
	<select id="sort-types" name="show-tasks-sort" onchange="location = this.value;">
		<option value="show_tasks.php?sort=deadlineAsc">Termin wykonania - od najbliższego</option>
		<option value="show_tasks.php?sort=deadlineDsc">Termin wykonania - od najdalszego</option>
		<option value="show_tasks.php?sort=paymentDsc">Zarobek - malejąco</option>
		<option value="show_tasks.php?sort=paymentAsc">Zarobek - rosnąco</option>
		<option value="show_tasks.php?sort=categoryDsc">Kategoria - malejąco (alfabetycznie)</option>
		<option value="show_tasks.php?sort=categoryAsc">Kategoria - rosnąco (alfabetycznie)</option>
	</select>
</div>

No i o dziwo sortuje poprawnie dane, ale niestety też jest problem z 4 zmiennymi wysyłanymi metodą POST - Notice: Undefined index: nazwaZmiennej

Spodziewałem się tego problemu, ale dziwię się, że dotyczy on tylko 4 zmiennej, bo POSTem wysyłam 7 :O

komentarz 28 września 2018 przez zbrzyzny Nowicjusz (200 p.)

@Misiek,

Dobra, działa. Wystarczyło isset() dodać żeby zniknęło info o błędnych zmiennych :P

No, ale to nadal jest ponowne wysłanie zapytania do bazy danych.

0 głosów
odpowiedź 28 września 2018 przez Assasz Nałogowiec (30,460 p.)
edycja 28 września 2018 przez Assasz

Najlepiej aby nie wysyłać ponownie całego zapytania do serwera

O ile nie posortujesz wyników w JS, to będziesz musiał wysłać żądanie na serwer tak czy siak.

A jeśli chodzi o zapytanie do bazy, to nie widzę w tym nic złego (pod warunkiem, że zapytanie nie wykonuje się 10 sekund). Po prostu przesyłasz parametr sortowania (np. GETem) i podstawiasz do zapytania SQL. 

Czy zwrócone dane z php powinny znajdować się w tabeli czy mogą równie dobrze być w divach?

To zależy, jakie dane zwracasz. Wybierasz taki element, aby było w miarę semantycznie poprawnie. Może to być np. tabela albo lista. 

Podobne pytania

0 głosów
1 odpowiedź 490 wizyt
0 głosów
1 odpowiedź 121 wizyt
0 głosów
1 odpowiedź 297 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...