[SOLVED] ORDER BY ASC en DESC inverteren
Ik ben redelijk nieuwe met PHP en MySQL dus ik hoop dat mijn vraag simpel is.
Ik heb een tabel met meerdere kolommen (leeftijd, naam, score, etc...)
Nu wil ik deze kolommen sorteren (dat kan heel leuk met de functie ORDER BY).
Alleen één probleempje: hoe zorg ik ervoor dat ASC DESC wordt en DESC ASC wordt (dus omdraait), als men nogmaals op de knop 'sorteer op leeftijd' klikt? (dus bij de eerste klik moet het 1-10 worden gesorteerd en bij de tweede klik 10-1)
Dit vindt je heel veel terug op websites...
Bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Rogier Burton
ORDER BY id $_GET['sort']
Zoiets?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
brie schreef op 09.01.2008 14:09:
<a href="?sort=ASC">Klik hier</a>
ORDER BY id $_GET['sort']
ORDER BY id $_GET['sort']
brie, nu wordt alles ASC gesorteerd als je op de link klikt. Da's voor de helft goed, want ik wil ook graag dat als de client nog een keer erop klikt alles DESC wordt gesorteerd ;)
Toch bedankt
Edit: het zou heel mooi zijn als dit kan d.m.v. één knop. (dus niet een knop voor sorteren en een knop voor omdraaien)
Wat ik momenteel heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
if(isset($_POST['sorteren'])){
if ($DESCASC == " ASC"){
$DESCASC = " DESC";
}
if ($DESCASC == " DESC"){
$DESCASC = " ASC";
}
$sorteren = $_POST['sorterenbox'].$DESCASC;
}
if ($DESCASC == " ASC"){
$DESCASC = " DESC";
}
if ($DESCASC == " DESC"){
$DESCASC = " ASC";
}
$sorteren = $_POST['sorterenbox'].$DESCASC;
}
Hier maak ik gebruik van een drop-down-box waarin je kunt selecteren WAT je wilt sorteren en een knop 'Sorteren!'
Gewijzigd op 01/01/1970 01:00:00 door Rogier Burton
Maar terence heeft je ondertussen al het antwoord geschreven ;)
Edit:
gewoon zo toch:
Code (php)
?>
Gewijzigd op 01/01/1970 01:00:00 door Boris Mattijssen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_GET['order']) && strtoupper($_GET['order']) = 'DESC'){
$order = 'DESC'; // huidige
$new_order = 'ASC';
} else {
$order = 'ASC'; // huidige of default
$new_order = 'DESC';
}
$sql = 'SELECT * FROM tabel ORDER BY kolomnaam '.$order;
echo '<a href="index.php?order='.$new_order.'">Omdraaien!</a>';
?>
if(isset($_GET['order']) && strtoupper($_GET['order']) = 'DESC'){
$order = 'DESC'; // huidige
$new_order = 'ASC';
} else {
$order = 'ASC'; // huidige of default
$new_order = 'DESC';
}
$sql = 'SELECT * FROM tabel ORDER BY kolomnaam '.$order;
echo '<a href="index.php?order='.$new_order.'">Omdraaien!</a>';
?>
Het kan ongetwijfeld nog korter.
Uiteindelijk gekozen voor brie...
Iedereen bedankt!