Avatar billede max_max Nybegynder
22. maj 2003 - 12:59 Der er 9 kommentarer og
1 løsning

Sortér data efter valgt emne

Hej!
Jeg har en tabel, hvor outputtet kommer i tre kolonner: titel, virksomhed og id.
Som standard skal der sorteres efter titel, men der skal være en $php_self overskrift over hver kolonne, hvor man skal kunne vælge at sortere efter denne faktor.

Hvordan skal dette se ud?

Problemet er desuden, at siden kan se forskellig ud, da det hentede kolonne materiale er valgt ud fra et kriterie, der eksempelvis ser således ud:
<a href=$PHP_SELF?select=frie>Frie</a> og
<a href=$PHP_SELF?select=reserveret>Reserveret</a>

Det betyder altså, at det hyperlink, der skal stå over hver kolonne skal indeholde dette valg også.
Avatar billede phillips Nybegynder
22. maj 2003 - 13:08 #1
Hvis jeg forstår dig ret kan du f.eks. skriv href=$PHP_SELF?select=frie&sortby=titel

$sortby sætter du så ind i mysql-query:

SELECT frie FROM tabel SORT BY $sortby
Avatar billede phillips Nybegynder
22. maj 2003 - 13:10 #2
Ups..

SELECT * FROM tabel ORDER BY '$sortby'
Avatar billede exp Juniormester
22. maj 2003 - 13:11 #3
nok mere korrekt (jf. de nye sikkerhedsindstillinger):

echo "href=".$_SERVER['PHP_SELF']."?select=frie&sortby=titel";
Avatar billede max_max Nybegynder
22. maj 2003 - 13:12 #4
Du har ret i din sorteringsfaktor, men den havde jeg nok set. Problemet er, at select=xxx ikke er den samme hver gang - det vil sige at den i linket skal være dynamisk.
Desuden skal der også sorteres efter en faktor som standard - det er vel en eller anden form for if-kommando. Men hvilken?
Avatar billede phillips Nybegynder
22. maj 2003 - 13:16 #5
Egentlig kan du lave hele din mysql-query i et link, så jeg ser ikke problemet.

Men ellers må du vise lidt kode.
Avatar billede exp Juniormester
22. maj 2003 - 13:26 #6
if (!isset($_GET['sortby'])) {
    $sortby = 'titel';
} else {
    $sortby = $_GET['sortby'];
}
Avatar billede exp Juniormester
22. maj 2003 - 13:26 #7
if (!isset($_GET['select'])) {
    $select = 'frie';
} else {
    $select = $_GET['select'];
}
Avatar billede tipsen Nybegynder
22. maj 2003 - 13:52 #8
shorthand:

$sortby = isset($_GET['sortby']) ? $_GET['sortby'] : 'titel';
Avatar billede phillips Nybegynder
22. maj 2003 - 15:47 #9
Jeg ved ikke om nogen overhovedet har forstået dit spørgsmål 100 %. Måske skulle du i så fald uddybe det eller vise din kode :)
Avatar billede max_max Nybegynder
24. maj 2003 - 17:00 #10
Jeg må lige tænke lidt over det, så kan jeg uddybe spørgsmålet - tak for dette, men det passer desværre ikke som en løsning.
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