Avatar billede googolplex Novice
24. marts 2003 - 01:09 Der er 14 kommentarer og
1 løsning

Sortering af udtræk fra database

Jeg har en tabel der indeholder (links_id, navn, url, kategori).

Jeg hiver alt ud af databasen på følgende måde (simpelt, intet hurlumhej):

<?php
aabn_forbindelse();
$links_array = sql_spoerg_og_faa_svar("SELECT * FROM links ORDER BY kategori");
luk_forbindelse();

for ($i = 0; $i < sizeof($links_array); $i++) {

    extract($links_array[$i]);
}
?>

Nu kan jeg sagtens udskrive alle links sorteret efter kategori ved fx. at tilføje:

echo "<a href=\"$url\">$navn</a><br />";

Men hvordan får jeg udskrevet eksempelvis den fjerde kategori (valgt alfabetisk), uden at få de andre med ?

Håber spørgsmålet er forståeligt.
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:11 #1
SELECT * FROM links
WHERE kategori="den 4. kategori";
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:13 #2
Og hvis du vil have dem i alfabetisk rækkefølge, sorteret efter f.eks. navn, så bruger du følgende SQL

SELECT *
FROM links
WHERE kategori = "den 4. kategori"
ORDER BY navn;
Avatar billede googolplex Novice
24. marts 2003 - 01:13 #3
Ja, men jeg kender ikke på forhånd navnet på den fjerde kategori, det er bare den fjerde katefori i alfabetisk rækkefølge.
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:17 #4
Oh... så forstår jeg bedre spørgsmålet :-)))
Avatar billede googolplex Novice
24. marts 2003 - 01:20 #5
Ja, jeg prøvede ellers med (valgt alfabetisk), men spørgsmålet var lidt uklart, kan du stadig hjælpe ?
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:22 #6
du kan bruge følgende SQL til at få en liste over dine kategorier - så kan du jo vælge den 4. , udtage "kategori" - og så bruge den i ovenstående SQL-sætning :
  SELECT DISTINCT kategori
  FROM links
  ORDER BY kategori;
Avatar billede googolplex Novice
24. marts 2003 - 01:23 #7
Ja, det havde jeg faktisk tænkt på, men hvordan 'vælger' jeg den fjerde udtagne kategori ?
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:24 #8
altså noget lignede

<?php
  aabn_forbindelse();
  $kategori_array = sql_spoerg_og_faa_svar("SELECT DISTINCT kategori FROM links ORDER BY kategori;");
  luk_forbindelse();
for ($i = 0; $i < sizeof($links_array); $i  ) {

    extract($links_array[$i]);
}
?>
Avatar billede googolplex Novice
24. marts 2003 - 01:24 #9
LIMIT 3,3 ?
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:24 #10
ups - kom til at trykke på udfør ved en fejltagelse ....

vent et øjeblik...
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:29 #11
du kan jo prøve LIMIT 3,3  - det er jo ok i MySQL, så vidt jeg ved...
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:30 #12
altså
  SELECT DISTINCT kategori FROM links ORDER BY kategori LIMIT 3,3;
Avatar billede googolplex Novice
24. marts 2003 - 01:31 #13
Ok, prøver lige og vender tilbage i morgen, så du kan få point :)
Avatar billede bearhugx Nybegynder
24. marts 2003 - 01:33 #14
Har lige læst lidt i MySQL manualen -  og det er nok mere
  SELECT DISTINCT kategori FROM links ORDER BY kategori LIMIT 3,1;

du har brug for
Avatar billede googolplex Novice
24. marts 2003 - 12:28 #15
Jeg fandt følgende løsning på mit problem:

<?php
aabn_forbindelse();
$kategori_array = sql_spoerg_og_faa_svar("SELECT DISTINCT kategori FROM links ORDER BY kategori");
luk_forbindelse();

for ($i = 0; $i < sizeof($kategori_array); $i++) {

    extract($kategori_array[$i]);
    echo "<br />Kategori: " . $kategori . "<br /><br />";

    aabn_forbindelse();
    $links_array = sql_spoerg_og_faa_svar("SELECT * FROM links WHERE kategori='$kategori' ORDER BY navn");
    luk_forbindelse();

    for ($u = 0; $u < sizeof($links_array); $u++) {

        extract($links_array[$u]);
        echo "Link: <a href=\"$url\">$navn</a><br />";

    }
}
?>

Du kan se resultatet på http://www.ladefoged-roenne.dk/index.php?side=links

Nu mangler jeg bare at sætte det lidt pænere op ;)

TAK for hjælpen, point i nakken på dig :P
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