Avatar billede pfp Nybegynder
14. november 2003 - 13:32 Der er 5 kommentarer og
1 løsning

Avanceret grupperingsudtræk

Hej,

Jeg har en mySQL database med følgende tabeller:

Pages:
--------------------------
pageID
Title
Main
Parent
County
--------------------------

County:
--------------------------
CountyID
Name
--------------------------

For tabellen Pages gælder at hvis main = 1 så er siden en hovedside, er main = 2 er siden en underside og tilhører den siden som der refereres til i parent. Desuden er alle sider inddelt efter County. County-feltet refererer til hvilket county siden er tilknyttet i County-tabellen.

Nu ville jeg gerne gøre sådan at alle posterne udskrives efter county, og sådan man kan se hvilke undersider der hører til hvilke hovedsider.

Altså på denne facon:

<b>COUNTYNAME</b>
<b>Hovedside</b>
- underside 1
- underside 2

Jeg har fået det til at virke med at den lister undersider under de rigtige hovedsider, men når jeg samtidig skal have listet county ind kommer jeg simpelthen til korte.

Er der en der kan komme med nogle ideer eller eksempler?

På forhånd tak.

/pfp
Avatar billede festy Nybegynder
14. november 2003 - 14:44 #1
Er det noget i denne stil?

SQL = "Select CountyID from Pages group by CountyID;"
SET RS = Conn.Execute(SQL)

Do while NOT RS.EOF
    subSQL = "Select Name from County where CountyID = '"& RS("CountyID") &"';"
        SET subRS = Conn.Execute(subSQL)
   
    Response.Write("<b>" & subRS("Name") & "</b>")
 
        subsubSQL = "Select * from Pages where CountyID = '"& RS("CountyID") &"' and Main = 1;"
        SET subsubRS = Conn.Execute(subsubSQL)

        Do while NOT subsubRS.EOF
            Response.Write("<b>" & subsubRS("Titel") & "</b>")
 
            subsubsubSQL = "Select * from Pages where CountyID = '"& RS("CountyID") &"' and Main = 2";
            SET subsubsubRS = Conn.Execute(subsubsubSQL)

            Do while NOT subsubRS.EOF
                    Response.Write("-&nbsp;<a href=&quot;" & subsubsubRS("Parent") & "&quot;>" & subsubsubRS("Titel") & "</a>")
            subsubRS.MoveNext
            loop
        subsubRS.MoveNext
        loop
RS.MoveNext
loop
Avatar billede pfp Nybegynder
14. november 2003 - 16:48 #2
Hej,

Ja det er helt sikkert noget i den stil, jeg har rettet lidt i det fordi der manglede et par do whiles osv...og det virker næsten...men kun næsten..

Den kode jeg har nu er:

<%
SQL = "Select County from Pages WHERE County > 0 group by County "
SET RS = Conn.Execute(SQL)

Do while NOT RS.EOF
    subSQL = "Select * from County where CountyID = " & RS("County")
    set rs2 = Conn.Execute(subSQL)
   
    Do While not rs2.eof
   
    Response.Write("<b>" & ucase(rs2("Name")) & "</b><br>")
 
        subsubSQL = "Select * from Pages where County = "& RS("County") &" and Main = 1"
        SET subsubRS = Conn.Execute(subsubSQL)

        Do while NOT subsubRS.EOF
            Response.Write("<b><a href='" & subsubRS("pageid") & "'>" & subsubRS("Title") & "</b></a><br>")
             
            subsubsubSQL = "Select * from Pages where County = "& RS("County") &" and Main = 2"
            SET subsubsubRS = Conn.Execute(subsubsubSQL)

            Do while NOT subsubsubRS.EOF
                    Response.Write "<a href='" & subsubsubRS("pageid") & "'>" & "- " & subsubsubRS("Title") & "</a><br>"
            subsubsubRS.movenext
            loop
                   
        subsubRS.MoveNext
        loop
       
    rs2.movenext
    loop
   
   
RS.MoveNext
loop
%>

Jeg får ingen errors men det viser det bare ikke helt korrekt. Kan du gennemskue det?
Avatar billede festy Nybegynder
14. november 2003 - 18:37 #3
Kan du ikke skrive hvordan den viser det og så hvordan det skal se ud?
Avatar billede festy Nybegynder
14. november 2003 - 19:15 #4
Jeg tror der er noget med din database.
Når man tilføjer en underside, som bliver den kædet sammen med alle de hovedsider  der tilknyttet en bestemt county. Jeg forstår det sådan at en underside kun skal tilknyttes en bestemt hovedside under en bestemt county. Hvis det er forstået rigtgt, så gøres det nemmest ved at laven tabel til hvor du ligger under siderne og så ligger du hovedsiderne i den nu værende.

f.eks

table hoved
-----------
hovedID
title
countyID

table pages
-----------
pageID
hovedID
title

table county
------------
countyID
name

Hvis jeg har forstået det rigtigt :-)
Avatar billede pfp Nybegynder
14. november 2003 - 22:32 #5
Hej,

Jeg har godt nok ikke lavet database strukturen som dig, men det hele har løst sig nu. Det var bare fordi der var nogle tal der ikke var kommet helt rigtigt når man oprettede nye sider.

Du får mange tak for hjælpen.

/pfp
Avatar billede pfp Nybegynder
14. november 2003 - 23:51 #6
Hej igen,

Jeg ville blive meget glad, hvis du har tid til at hjælpe mig lidt her også:
http://www.eksperten.dk/spm/427724

/pfp
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
Kurser inden for grundlæggende programmering

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