Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Order by $zmienna z get'a i co jeśli ktoś ją zmieni i kolumny nie będzie ?
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

Ostrzeżenie: (0%)
-----


Witam, mam sobie zapytanie w którym steruję sortowaniem poprzez link, czyli w linku mam po jakim polu ma sortować i ładnie działa, ale co zrobić gdy ktoś sobie zmieni tą zmienną ? Wtedy wywala mi albo błąd Warning: mysql_fetch_array() .... albo jak dam w kodzie po zapytaniu or die(...); to wyświetla. Moja pytanie co zrobić aby sortowało po ID bądź czymś innym co jest w bazie ale żeby nie sortowało po tym jak ktoś sobie sam zmieni w linku na złą kolumnę ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
untorched
post
Post #2





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Kod
$dozwolone = array('id', 'nazwa', 'inne_pole'); // pola wg. których dozwolone jest sortowanie

$pole = mysql_real_escape_string($_GET['sortowanie']); // Nazwa pola wg. którego ma być sortowanie

if( in_array($pole, $dozwolone) === FALSE )
{
   $pole = 'id'; // jeśli nie można sortować wg. pola podanego w zapytaniu
                 // to ustaw domyślne pole na `id`
}

mysql_query('SELECT * FROM `nazwa_tabelki` ORDER BY `'.$pole.'`'); // zapytanie..


o coś takiego chodzi? nie testowałem, ale powinno być ok (IMG:style_emoticons/default/mellow.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 20:23