16. august 2005 - 08:55Der er
14 kommentarer og 1 løsning
Grupering i asp ved hjælp et tal i access kolonne
Hejhej...
Jeg tror det bliver svært at forklare, men prøver ad :)
Jeg har en produkt oversigt hvor man kan klikke på de enkelte produkter for at få mere information om det enkelte produkt, alt sammen ved hjælp af en Acees database.
Jeg er har en kolonne i databasen der hedder rank, som holder de produkter sammen, der er af samme slags, men i forskellige mål.
Så vil jeg jo gerne at når man klikker ind på mere information på et produkt, så vises det valgte produkts "makkere" nedenunder.
De er gruperet således, at alle 1'ere høre sammen, alle 2'ere osv.
Er der nogen der kan give mig en ide om hvordan dette gøres??
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Det er lidt vild at bruge en Select-Case hvis der kun er en Case. Du burde hellere bruge en If-Then.
Rent sikkerhedemæssigt er det ikke nogen god ide at hente tabelnavnet via Request.QueryString("tabel"). En ondsindet hackertype bille kunne bruge dette til at indtaste et af dine andre tabel-navne (f.eks. dit kunde register) og så kigge i hvad der står der.
Hvis du bare bruger Response.Write rs("varenr") på den angivne måde så kommer der ikke noget mellemrumimellem posterne: ”125727236327” i stedet for ”125 72 7 23 63 27”.
Oki tak! Jeg har 42 Cases :D Men det med sikkerheden, jeg bruger det kun på den måde i varesortimentet, og kunde logins lægger i anden db, og en helt anden struktur, der benyttes session, ssl og anden server til logins. Er det så ok at bruge tabel navnet i QueryString???
Jeg får en fejl i min linie 157, ovenstående kode starter i 757 - hmmm...
Får fejlen:
Microsoft VBScript compilation error '800a03f6'
Expected 'End'
/default.asp, line 157
Har jeg ikke afsluttet min nye kode her rigtig nok????
Jeg har godt haft mine problemer med den stump kode fra igår, det virker helt fint på varenummeret, den viser fint - men når jeg eks. også gerne vil hente variablen r("beskrivelse") og rs("str") med, og vise dem - står jeg af..
<% 'Grupere varer fra databasen i sektion 15 Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("../db/database.mdb") Conn.Open DSN SQL = "Select * FROM " & Request.QueryString("tabel") & " WHERE id = " & Request.Querystring("ID") rs = Conn.Execute(SQL)
Response.Write ""
SQL2 = "Select * From " & Request.QueryString("tabel") & " WHERE visning=" & rs("visning") & " AND Id <> " & Request.Querystring("ID") Set rs2 = Conn.Execute(SQL2)
Do While Not rs2.EOF Response.Write rs2("varenr") & "<br>" rs2.MoveNext Loop %>
Håber du har et øjeblik til at se på det idag - vil gerne oprette det i en ny tråd, hvis det er !
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DSN
SQL = "SELECT varenr, beskrivelse, str, visning FROM " & Request.QueryString("tabel") & " WHERE id = " & Request.Querystring("ID") Set rs = Conn.Execute(SQL)
' Response.Write "" - Sådan nogle linjer kode som denne gør absolut ingen ting andet end at sluge processotkraft Response.Write rs("varenr") & " " & rs("beskrivelse") & " " & rs("str") & "<br>"
SQL2 = "SELECT varenr, beskrivelse, str FROM " & Request.QueryString("tabel") & " WHERE visning=" & rs("visning") & " AND Id <> " & Request.Querystring("ID") Set rs2 = Conn.Execute(SQL2)
Do While Not rs2.EOF Response.Write rs2("varenr")& " " & rs2("beskrivelse") & " " & rs2("str") & "<br>" rs2.MoveNext Loop %>
Normalt ville man så pakke det ind i en table, eller lave noget med div's, for at få det til at stå pænt. Men den slags skal jo tilpasses til resten af siden, så det er lidt svært for mig at lave andet end en demo:
...
SQL = "SELECT varenr, beskrivelse, str, visning FROM " & Request.QueryString("tabel") & " WHERE id = " & Request.Querystring("ID") Set rs = Conn.Execute(SQL) %> <table border="1"> <tr> <td valign="top"> <% =rs("varenr") %><td> <td valign="top"><% =rs("beskrivelse") %><td> <td valign="top"><% =rs("str") %><td> </tr> <% SQL2 = "SELECT varenr, beskrivelse, str FROM " & Request.QueryString("tabel") & " WHERE visning=" & rs("visning") & " AND Id <> " & Request.Querystring("ID") Set rs2 = Conn.Execute(SQL2)
Do While Not rs2.EOF %> <tr> <td valign="top"><% =rs2("varenr") %><td> <td valign="top"><% =rs2("beskrivelse") %><td> <td valign="top"><% =rs2("str") %><td> </tr> <% rs2.MoveNext Loop %> </table>
Det er jo virkelig fantastisk :) Den bedste start på en morgen! Jeg har lavet et mindre varesystem, og det eneste jeg manglede var denne kode, den skal bruges 3 steder, og så er jeg stort set færdig :)
Nu mangler jeg kun at få mig fusket frem til, på oversigten over produkterne i den pågældende sektion, at den kun skal vise den første i "et sæt" - altså så den kune viser den første af alle 1'erne og den første af alle 2'erne.. Men det må jeg prøve at fuske mig frem til:)
Du skulle jo næsten ha flere point for din hjælp!!
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.