08. juli 2002 - 13:11Der er
7 kommentarer og 1 løsning
Smartere query? (måske noget Join?)
Hejsa
Nedenstående virker sådan set fint, men spørgsmålet er om man ikke kan lave det på en smartere måde :
<B>Nærmmeste arrangementer i kalenderen</B><BR> <% strQuery = "select * from kalender where `dato` >'"&datotid()&"' ORDER BY `dato` ASC LIMIT 0, 5;" Set rsData = adoDataConn.Execute(strQuery) Do While Not rsData.EOF %> <P><B><%=rsData("navn").Value %></B><I>(<%=rsData("dato").value %>)</I><BR> <%=rsData("beskrivelse").Value %><BR><% secondq = "select * from person where ID = "&rsData("opretter").value&";" Set secondD = adoDataConn.Execute(secondq)%> oprettet af: <a href=mailto:<%=secondd("mail").Value%>> <%response.write(secondd("navn").value)%> </a></P> <% rsData.MoveNext Loop %>
Det handler om at jeg finder de nærmeste 5 arrangementer i kalenderen, hvor "opretter" indeholder ID på en person i person tabellen. - Denne slår jeg så efterfølgende op for at få mail og navn. spørgsmålet er om det kan gøres mere elegant en 6 opslag pr visning af siden ? (uden at det går hen og bliver alt for kryptisk?)
rsData(0) er det første felt rsData(1) er nr. to osv.
men du kan også "give feltet et andet navn" fx. personnavn SELECT k.navn, k.dato, k.beskrivelse, p.mail, p.navn AS personnavn FROM kalender k INNER JOIN person p ON k.opretter=p.ID
det er hurtigere for serveren at hente rsData(0) end rsData("navn")
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.