Avatar billede michaeltryl Seniormester
18. februar 2013 - 13:26 Der er 4 kommentarer og
1 løsning

Sortering i mysqli - der en anden måde at løse det på ?

Sidde lige og bakser med noget sortering af en tabel og er kommet frem til denne løsning, men er der en bedre måde at løse det på
vare_gr ?
er bruger input
og man kan jo ikke binde paramenter til ORDER BY

if($o == "op")
{
$stmt2 = $con2->prepare('SELECT vare_id, vare, pris FROM vare WHERE vare_gr=? ORDER BY pris ASC');
}
else if($o == "ned")
{
$stmt2 = $con2->prepare('SELECT vare_id, vare, pris FROM vare WHERE vare_gr=? ORDER BY pris DESC');
}
else
{
$stmt2 = $con2->prepare('SELECT vare_id, vare, pris FROM vare WHERE vare_gr=? ORDER BY vare ASC');
}
Avatar billede arne_v Ekspert
18. februar 2013 - 13:37 #1
Valider at sorterings feltet er OK og konstruer saa en SQL udfra det.

Ikke super paent men OK.
Avatar billede arne_v Ekspert
18. februar 2013 - 13:38 #2
I praksis tror jeg at mange vaelger at hente data i et array og saa sortere det array som oensket senere.
Avatar billede arne_v Ekspert
18. februar 2013 - 13:42 #3
Hvis du er hardcore prepared statement mand kan du bruge:

"... ORDER BY CASE ? WHEN 1 pris WHEN 2 -pris WHEN 3 vare END CASE"

og saa saette 1, 2 eller 3.
Avatar billede michaeltryl Seniormester
18. februar 2013 - 14:50 #4
tak for ideen med at hente et array ud og sortere på det
bare smid et svar :-)
Avatar billede arne_v Ekspert
18. februar 2013 - 14:59 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester