13. marts 2002 - 10:31Der er
19 kommentarer og 2 løsninger
Dropdown indhold fra db
Hejsa.
Jeg vil gerne have en dropdown box, som henter fra en db. I tabellen i databasen har jeg 2 kolonner: ’afdeling’ og ’hold’. Så skal det være sådan, at når du går ind på side.asp?afdeling=fodbold, så skal den hente de hold som har fodbold som afdeling. Men hvert hold må kun være der én gang, selvom det står flere gange i databasen. Så skal det være sådan at når du vælger et hold, skal du komme til: side.asp?afdeling=fodbold?hold=oldboys, der skal den så liste alle de poster som har oldboys som holdet.
Er det forståeligt, og er der nogen som kan hjælpe mig med det?
og så for at sotere efter ID skriver definere du en ID hvor du kan adskille dem fra hinanden i din SQL statement! fx. SQL = "SELECT * FROM tabel WHERE id=1"
Her er en og samme asp-kode som kan begge dele. Skal kaldes med side.asp?afdeling=???. Derefter fremkommer en ComboBox med alle hold i denne afdeling. Når man så vælger en af dem kalder siden sig selv og viser alle poster med valgte hold. Er det rigtigt forstået.
Du skal selvfølgelig ændre tabelnavn og connection-string mv.
if strHold = "" then ' --- Vælg hold ------------------------------- ' Vælg de hold der findes i valgte afdeling Set RS = objConn.Execute("select hold from tabelnavn where afdeling=" & strAfdeling & " group by hold") ' HUSK tabelnavn
Response.Write("<br>" & vbCrLf) Response.Write("<form method='post' action='side.asp?afdeling=" & strAfdeling & "'>" & vbCrLf) ' HUSK side.asp skal måske hedde noget andet Response.Write("<select size="11" name='Afdeling'>" & vbCrLf) while not RS.EOF do Response.Write "<option value='" & RS("hold") & "'>'" & RS("hold") & "'</option>" & VbCrLf RS.MoveNext loop Response.Write("</select>" & vbCrLf) else ' --- Vis hold -------------------------------- Response.Write("Hold : " ? strHold & "<br><br>" & vbCrLf) ' Vælg alle poster med valgte hold i valgte afdeling Set RS = objConn.Execute("select * from tabelnavn where afdeling=" & strAfdeling & " and hold=" & strHold)' HUSK tabelnavn while not RS.EOF do Response.Write "RS("hold") & "<br>" & VbCrLf RS.MoveNext loop end if RS.Close %>
if strHold = "" then ' --- Vælg hold ------------------------------- ' Vælg de hold der findes i valgte afdeling Set RS = objConn.Execute("select hold from tabelnavn where afdeling='" & strAfdeling & "' group by hold") ' HUSK tabelnavn
Response.Write("<br>" & vbCrLf) Response.Write("<form method='post' action='side.asp?afdeling=" & strAfdeling & "'>" & vbCrLf) ' HUSK side.asp skal måske hedde noget andet Response.Write("<select size="11" name='Afdeling'>" & vbCrLf) while not RS.EOF do Response.Write "<option value='" & RS("hold") & "'>'" & RS("hold") & "'</option>" & VbCrLf RS.MoveNext loop Response.Write("</select>" & vbCrLf) else ' --- Vis hold -------------------------------- Response.Write("Hold : " ? strHold & "<br><br>" & vbCrLf) ' Vælg alle poster med valgte hold i valgte afdeling Set RS = objConn.Execute("select * from tabelnavn where afdeling='" & strAfdeling & "' and hold=" & strHold)' HUSK tabelnavn while not RS.EOF do Response.Write "RS("hold") & "<br>" & VbCrLf RS.MoveNext loop end if RS.Close %>
Jeg er ked af at jeg ikke her testet det - for der var en held del småting - som jeg kan forstå at du allerede har afluset - men her er en kode der er testet:
if strHold = "" then ' --- Vælg hold ------------------------------- ' Vælg de hold der findes i valgte afdeling Set RS = objConn.Execute("select hold from tabelnavn where afdeling='" & strAfdeling & "' group by hold") ' HUSK tabelnavn
Response.Write("<br>" & strHold & vbCrLf) Response.Write("<form method='post' action='hold.asp?afdeling=" & strAfdeling & "'>" & vbCrLf) ' HUSK side.asp skal måske hedde noget andet Response.Write("<select name='hold'>" & vbCrLf) do while not RS.EOF Response.Write "<option value='" & RS("hold") & "'>" & RS("hold") & "</option>" & VbCrLf RS.MoveNext loop Response.Write("</select><br>" & vbCrLf) Response.Write("<input type='submit' name='submit'>") Response.Write("</form>") else ' --- Vis hold -------------------------------- Response.Write("Hold : " & strHold & "<br><br>" & vbCrLf) ' Vælg alle poster med valgte hold i valgte afdeling Set RS = objConn.Execute("select * from tabelnavn where afdeling='" & strAfdeling & "' and hold='" & strHold & "'")' HUSK tabelnavn do while not RS.EOF Response.Write RS("hold") & "<br>" & VbCrLf RS.MoveNext loop end if RS.Close %>
Jeg har ændret sidens navn til hold.asp Jeg håber det kan gå.
' Vælg de hold der findes i valgte afdeling Set RS = objConn.Execute("select hold from tabelnavn where afdeling='" & strAfdeling & "' group by hold") ' HUSK tabelnavn
Response.Write("<br>" & vbCrLf) Response.Write("<form method='post' action='hold.asp?afdeling=" & strAfdeling & "'>" & vbCrLf) ' HUSK side.asp skal måske hedde noget andet Response.Write("<select name='hold'>" & vbCrLf) do while not RS.EOF Response.Write "<option value='" & RS("hold") & "'>" & RS("hold") & "</option>" & VbCrLf RS.MoveNext loop Response.Write("</select><br>" & vbCrLf) Response.Write("<input type='submit' name='submit' value='Vis hold'>") Response.Write("</form>") Response.Write("<br>" & vbCrLF)
if strHold <> "" then ' Vis alle poster med valgte hold i valgte afdeling Response.Write("Hold : " & strHold & "<br><br>" & vbCrLf) Set RS = objConn.Execute("select * from tabelnavn where afdeling='" & strAfdeling & "' and hold='" & strHold & "'")' HUSK tabelnavn do while not RS.EOF Response.Write RS("hold") & "<br>" & VbCrLf RS.MoveNext loop end if RS.Close %>
100% tilfeds... -coltua gjorde helt klart den største indsats...!
//>Rune
Synes godt om
Ny brugerNybegynder
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.