Avatar billede Slettet bruger
12. oktober 2003 - 09:08 Der er 7 kommentarer og
1 løsning

Forskellig sortering i samme funktion

Hej.

Jeg har en funktion som vist neden for, og den virker som den skal. Men når menuID=10 vil jeg gerne have den sorterer i omvendt rækkefølge.


function getSecondaryMenu(){
    if($this->menuID > 0 && $this->type=="article"){
        $query = "SELECT id,title,author,date,body,menuid
                  FROM tblarticles WHERE menuID='".$this->menuID."' ORDER BY title ASC";
        $this->result = $this->DB_executeQuery($query,$this->menuLink);
        $numRecords = $this->DB_getRecords($this->result);
        if($numRecords > 1){
            while($row = mysql_fetch_assoc($this->result)){
                $temp['title'] = $row['title'];
                $temp['id'] = $row['id'];
                $this->secondary[] = $temp;
            }
        }
    }
}

Når menuID=10 vil jeg gerne have den gør dette:

if($this->menuID = 10 && $this->type=="article"){
  $query = "SELECT id,title,author,date,body,menuid
            FROM tblarticles WHERE menuID='".$this->menuID."' ORDER BY title DESC";

altså sorterer omvendt.
Jeg kan ikke gennemskue hvordan jeg får det flettet sammen.
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 09:46 #1
function getSecondaryMenu(){
    if($this->menuID > 0 && $this->type=="article"){
if($this->menuID = 10 && $this->type=="article"){
  $query = "SELECT id,title,author,date,body,menuid
            FROM tblarticles WHERE menuID='".$this->menuID."' ORDER BY title DESC";
} else {
        $query = "SELECT id,title,author,date,body,menuid
                  FROM tblarticles WHERE menuID='".$this->menuID."' ORDER BY title ASC";
}
        $this->result = $this->DB_executeQuery($query,$this->menuLink);
        $numRecords = $this->DB_getRecords($this->result);
        if($numRecords > 1){
            while($row = mysql_fetch_assoc($this->result)){
                $temp['title'] = $row['title'];
                $temp['id'] = $row['id'];
                $this->secondary[] = $temp;
            }
        }
    }
}
Avatar billede Slettet bruger
12. oktober 2003 - 09:50 #2
Næh, så visedr den slet ingen undermenu'er.
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 09:53 #3
Den sku' gerne vise præcis det samme som før for alle dem, der ikke er 10.
Gør den ikke det?

Erik Jacobsen, oz6ks  ;))
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 09:54 #4
Nå nej, dumme, gamle mig ;))

if($this->menuID = 10 && $this->type=="article"){

skal bare være

if($this->menuID = 10){
Avatar billede Slettet bruger
12. oktober 2003 - 09:54 #5
Næh :-) Der kommr normalt en undermenu frem som er sorteret, og når man retter i koden forsvinder de.
Avatar billede Slettet bruger
12. oktober 2003 - 09:56 #6
TAk, det hjalp på den bagvendte sortering, men den viser ikke den menu der skal sorteres rigtigt, så den er vel halvgående nu :-)
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 09:59 #7
Jeg har også været oppe siden kl. 03.30 i dag ... så ...  men ret

if($this->menuID = 10){

til

if($this->menuID == 10){

så skulle den trille.

(03.30?? Ja: børn, suk)
Avatar billede Slettet bruger
12. oktober 2003 - 10:01 #8
Det var lige den. Tak Erik. Ja sådan nogle unger kan let spolere en nattesøvn :-) TAK for hjælpen. Du får hele møllen.
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