Avatar billede hrole Mester
27. februar 2009 - 22:28 Der er 6 kommentarer og
1 løsning

Alfabetisk oversigt med udtræk af mysql

Hej,

Jeg lidt i tvivl om spørgsmålet skal placeres her eller under php.

Jeg vil gerne have vist et udtræk (fx kun personer fra en bestemt by) fra min database i alfabetisk rækkefølge. Jeg kunne gøre det ved at lave individuelt udtræk for hvert bogstav, men kan det ikke lade sig gøre at få hele udtrækket på en simplere måde?

"Grafisk" havde jeg forestillet mig sådan, da denne måde giver lidt overblik:

Personer i København:

A
Amalie, Anna, Anne, Arne

B
Benny, Bo, Bolette

K
Kristian, Kristina

M
Maren, Marie, Marie Louise, Mette
Avatar billede arne_v Ekspert
27. februar 2009 - 22:34 #1
SQL:

SELECT * FROM person ORDER BY fornavn

og så tester du i PHP på første tegn i fornavn og genererer speciel kode når den skifter.
Avatar billede lsskaarup Nybegynder
27. februar 2009 - 22:35 #2
Hvordan er di`n DB struktureret?
Avatar billede arne_v Ekspert
27. februar 2009 - 22:35 #3
Jeg kan evt. godt bixe et eksempel.
Avatar billede hrole Mester
27. februar 2009 - 22:42 #4
arne_v: det må du meget gerne
Avatar billede arne_v Ekspert
28. februar 2009 - 01:06 #5
Til inspiration:

$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('Test', $con) or die(mysql_error());
$query = mysql_query('SELECT * FROM person ORDER BY fornavn', $con) or die(mysql_error());
$lastletter = '-';
$first = true;
echo '<ul>';
while($row = mysql_fetch_array($query)) {
    $fornavn = $row['fornavn'];
    $currletter = $fornavn[0];
    if($currletter != $lastletter) {
        if($first) {
            $first = false;
        } else {
            echo '</ul>';
        }
        echo "<li>$currletter</li>";
        echo '<ul>';
        $lastletter = $currletter;
    }
    echo "<li>$fornavn</li>";
}
echo '</ul>';
echo '</ul>';
mysql_close($con);
Avatar billede hrole Mester
28. februar 2009 - 01:52 #6
Super! Tak for hjælpen, arne_v. Smid svar.
Avatar billede arne_v Ekspert
28. februar 2009 - 03:54 #7
kommer her
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
Computerworld tilbyder specialiserede kurser i database-management

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