22. september 2003 - 18:16Der er
22 kommentarer og 1 løsning
2 spalter med med underlæggende sider!
Hejsa eksperter!
Jeg har to tabeller hvor den ene hedder kategori, og den anden hedder tekster! jeg savner et overblik over disse data på én side der skal være i to spalter!
dvs.
.: tabel "kategorier":...... TKID = unik id TKoverskrift = overskrift
.: tabel "tekster":...... TKID = unik id Tkatagori = nøgle til kategori felt "TKID"
Jeg ville meget gerne have dataerne listet således!!
Prøv noget som dette, hvor conn er nanvet på din Connection til databasen:
<% SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.TKID ORDER BY kategorier.TKID ASC" Set rs = Conn.Execute(SQL)
lastID = "" response.write "<table>" colPrRow = 0 maxPrRow = 2 do while not rs.EOF if colPrRow = 0 then Response.write "<tr>"
if lastID <> rs("TKID") then Response.Write "<td>" response.write "<table>" response.write "<tr><td>TKID:" & rs("TKID") & "</td></tr>" lastID = rs("TKID") colPrRow = colPrRow + 1 end if
if not rs.EOF then if lastID <> rs("TKID") then Response.Write "</table>" Response.Write "</td>" end if else Response.Write "</table>" Response.Write "</td>" end if
if colPrRow = maxPrRow then colPrRow = 0 response.write "</tr>" end if loop if colPrRow > 0 then response.write "</tr>" response.write "</table>" %>
Ok, så prøv at rette disse linjer i den kode jeg har vist:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.TKID ORDER BY kategorier.TKID ASC" Set rs = Conn.Execute(SQL)
Til dette:
Set rs = Server.CreateObject("ADODB.Recordset") SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.TKID ORDER BY kategorier.TKID ASC" rs.Open SQL, MM_gratis_STRING, 1
Set rs = Server.CreateObject("ADODB.Recordset") SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.TKID ORDER BY kategorier.TKID ASC" rs.Open SQL, MM_gratis_STRING, 1
Om til:
Set rs = Server.CreateObject("ADODB.Recordset") Set conn = Server.CreateObject("ADODB.Connection") conn.Open MM_gratis_STRING SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.TKID ORDER BY kategorier.TKID ASC" Set rs = Conn.Execute(SQL)
Er alle tabel og kolonnenavne rigtige i den SQL sætning??
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.TKID ORDER BY kategorier.TKID ASC"
Arh så tebellen i tekster er Tkatagori der høre til TKID i tabellen kategorier:
Prøv lige denne SQL:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.Tkatagori ORDER BY kategorier.TKID ASC"
Du kan tilføje de kolonner der er behov for i SQL sætningen evt bare skrive * hvis der ikke er to kolonne som hedder det samme i hver sin tabel:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori, tekster.Toverskrift FROM kategorier INNER JOIN tekster ON kategorier.TKID=tekster.Tkatagori ORDER BY kategorier.TKID ASC"
Du kan rette denne linje: response.write "<tr><td>TKID:" & rs("TKID") & "</td></tr>"
if not rs.EOF then if lastID <> rs("TKID") then Response.Write "</table>" Response.Write "</td>" end if else Response.Write "</table>" Response.Write "</td>" end if
if colPrRow = maxPrRow then colPrRow = 0 response.write "</tr>" end if loop if colPrRow > 0 then response.write "</tr>" response.write "</table>" %>
UPS! jeg har fundet en lille mangel, hvis vi kan nå at rette den??
Hvis der ikke er nogle underkategorier i nogle af kategorierne, bliver kategorierne ikke vist! hvordan kan man gøre det således at de også bliver vist hvis der ikke er underkategorier!!
så skulle medtage alle også selvom der ikke er nogle underkategorier..:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, tekster.Tkatagori, tekster.Toverskrift FROM kategorier LEFT JOIN tekster ON kategorier.TKID=tekster.Tkatagori ORDER BY kategorier.TKID ASC"
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.