![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 25.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Chcę zrobić w code igniterze sortowanie i mam pytanie.
Przekazuję parametry metodzie sort GET'em (sort/pole w tabeli/typ sortowania) np: sort/title/desc Ale mam wątpliwości co do tego, ponieważ przy błędnym wpisaniu nazwy pola np: titledjasbhdj Code Igniter generuję błąd "Unknown Field" no i słusznie bo takie pole nie istnieje + wyświetla to błędne zapytanie do bazy danych. To jest niebezpieczne i niepowołane działanie bo po co ktoś ma widzieć z jakiej tabeli pobierane są wyniki itd. Czy jest jakiś inny sposób, aby stworzyć takie sortowanie ? A jeżeli nie, to czy może istnieje jakiś sposób, aby nie pokazywać tego błędu tylko np przekierować redirectem? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przypisz sobie opcje sortowania na stałe.
Kod if($wybor == 'wiek') { $this->db->order_by('wiek', 'desc'); } elseif($wybor == 'kolor') { $this->db->order_by('kolor', 'desc'); } Jak niema to leci sortowanie jakieś domyślne. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 25.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Nie mogę tak zrobić ponieważ to jest klasa, która generuję widok w postaci Tabelki HTML itd, więc nie jestem w stanie przewidzieć jakie pola bazy danych użytkownik tej klasy wprowadzi.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ok, kuknij czy to będzie dobre. W klasie database w CI jest opcja sprawdzenia czy takie pole w danej tabeli istnieje.
I wtedy w adresie: index.php/controller/sort/mojepole/desc tak jak pisałeś wyżej. Do tego można sprawdzać czy $order ma którąś z wartości 'asc', 'desc' żeby jakiegoś błędu nie było. Ten post edytował szok 7.07.2011, 12:56:06 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 25.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Ooo jak jest funkcja do sprawdzania czy pole istnieje to super.
Dzięki wielkie, co do asc/desc racja, warto.. ale z tego co sprawdzałem nie generuję błędu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
I gra gitara, ale ja dla pewności jednak dał bym zabezpiczenie, bo to jednak zawsze jakaś treść w zapytani SQL którą można wrzucić, a tak się przed tym obronisz. (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 16:10 |