Nieuw lid |
|
Ik neem aan dat je de complete tabel uit een database haalt. Je kan bij elke kolom die je sorteerbaar wilt maken twee links plaatsen met ascending (a-z) en descending (z-a). Bijvoorbeeld:
<a href="<?= $_SERVER['PHP_SELF'] ?>?column=column_2&order=asc">up</a>
<a href="<?= $_SERVER['PHP_SELF'] ?>?column=column_2&order=desc">down</a>
<a href="<?= $_SERVER['PHP_SELF'] ?>?column=column_2 &order=asc">up </a> <a href="<?= $_SERVER['PHP_SELF'] ?>?column=column_2 &order=desc">down </a>
Met een if-else kan je dan bepalen hoe de ORDER BY eruit moet komen te zien:
$column = $_GET['column'];
$order = $_GET['order'];
if ($order == 'asc')
$order = ' ORDER BY ' . $column . ' ASC';
else
$order = ' ORDER BY ' . $column . ' DESC';
$column = $_GET['column']; $order = $_GET['order']; if ($order == 'asc') $order = ' ORDER BY ' . $column . ' ASC'; else $order = ' ORDER BY ' . $column . ' DESC';
Ja klopt, sql injection is nu heel makkelijk, maar het is maar een voorbeeldje / beginnetje
Als je het echt goed wilt doen, zou ik voor ajax gaan. Nu moet de pagina telkens refreshen wanneer je sorteert. |