Avatar billede haunted Nybegynder
19. februar 2004 - 23:11 Der er 7 kommentarer og
1 løsning

Ordne tabel elementer efter A, B, C, D, osv

Hej med jer.

Jeg har et lille problem på min side.

Øverst på min side vil jeg have oprettet  en liste med:

Aa-Aå, Ba-Bå, Ca-Cå osv. osv..

Problemet er at jeg vil kun vise dem hvor der er indhold under...

Kan man gøre det i en enkelt sql-sætning så jeg får dem tilbage grouperet i rækkefølge??

Indtil videre har jeg prøvet med

SortArray = mysql_query("SELECT DISTINCT (name) WHERE name LIKE `". $sort."%´ GROUP BY name") or die (mysql_error());

Hvor $sort indeholder f.eks. et a. hvilket jo giver alle navne under a én gang, ikke just det jeg skal bruge.

Hvis der ikke findes en måde med kun et sql kald, hvordan kan man så gøre det nemmest??

På forhånd tak.
Avatar billede schaefner Juniormester
19. februar 2004 - 23:13 #1
Den tror jeg ikke helt jeg forstod, desværre. Hvordan skal din rækkefølge se ud?
Avatar billede haunted Nybegynder
19. februar 2004 - 23:18 #2
Den skal se ud som

Aa-Aå, Ba-Bå, Ca-Cå osv

Når man så vælger Aa-Aå skal man få alle navne som starter med A.

Problemet ligger i jeg kun skal vise de kategorier hvor der er nogle navne listet.
Dvs. hvis der ikke er nogle navne under D, så skal vi ikke vise denne kategori.

Håber det hjalp...
Avatar billede schaefner Juniormester
19. februar 2004 - 23:24 #3
Prøver at lave noget
Avatar billede haunted Nybegynder
19. februar 2004 - 23:27 #4
Kanon. jeg smutter dog i seng nu da jeg er total smadret, men jeg svarer i morgen tidlig hvis der er nogle der laver noget.
Avatar billede schaefner Juniormester
19. februar 2004 - 23:37 #5
<?php
$output_string = '';
$chars = mysql_query("SELECT DISTINCT(UPPER(LEFT(name,1))) AS fc FROM tbl_name ORDER BY name") or die (mysql_error());
while ($row = mysql_fetch_assoc($chars)) {
    $output_string .= ', <a href="?char='.$row['fc'].'">'.$row['fc'].'a-'.$row['fc'].'å</a>';
}

echo substr($output_string,2);
?>

mvh:jesper.sørensen
Avatar billede schaefner Juniormester
19. februar 2004 - 23:42 #6
Avatar billede schaefner Juniormester
19. februar 2004 - 23:45 #7
Når nu du så engang skal lave et udtræk udfra startbogstavet må jeg så anbefale dig at lade være med at bruge LIKE - den er simpelthen for sløv til det. Brug i stedet:

$sql = mysql_query("SELECT * FROM tabel WHERE UPPER(LEFT(name,1)) = '".$_GET['char']."'") or die(mysql_error());

mvh:jesper.sørensen
Avatar billede haunted Nybegynder
20. februar 2004 - 08:52 #8
Det er sgu kanon, tak for hjælpen.
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