webForumDet fria alternativet

Visa antal poster direkt i dropdownmenyn

ASP

4 svar · 318 visningar · startad av pbl

Medlem sedan mars 200516 inlägg
Frågan#1

Hur gör jag för att visa antal poster under respektive val i en dropdownmeny?
Dropdownmenyns val hämtas från en access databas. Någon som kan hjälpa mig med koden till det?

Medlem sedan sep. 20026 425 inlägg
#2

Välkommen till webForum!

Kan du specifiera frågan bättre? Vad heter din databastabell och vad heter de berörda kolumnerna i tabellen?

Medlem sedan mars 200516 inlägg
#3

Specifikation!!!

Tabellen heter arbeten, i den vill jag räkna antal poster som varje skola har lagt in, kolumnen heter skola. Databasen heter slojd.

Du kan se hur det ser ut på http://www.swedishcraft.nu/soksidan.asp

Medlem sedan dec. 20003 887 inlägg
#4

Det beror ju på hur du lagrar datat, men det här är en början

strSql = "SELECT skola, COUNT(*) AS CountOfPosts " & _
  "FROM arbeten " & _
  "GROUP BY skola " & _
  "ORDER BY skola"

set objSchools = Server.CreateObject("ADODB.RecordSet")

objSchools.Open strSql, [i]ConnectionString[/i], 3, 1

strSelectSchool = "<select name=""selectSchool"">"

While Not objSchools.EOF
  strSelectSchool = strSelectSchool & "<option value=""" & objSchools("skola") & """>" & objSchools("skola") & " (" & objSchools("CountOfPosts") & ")</option>"

  objSchools.MoveNext
Wend

strSelectSchool = strSelectSchool & "</select>"

Response.Write strSelectSchool

Jag kan tänka mig att din kod redan påminner om det här och det enda du behöver ändra är sql-satsen.

Medlem sedan mars 200516 inlägg
#5

Koden

Koden ser ut såhär, den har några år på nacken så det är möjligt att det är dags att skriva om den...:-)

set rstemp=conntemp.execute("select * from arbetsomraden")
set rstemp2=conntemp.execute("select * from Skolor")
set rstemp3=conntemp.execute("select * from klass")
howmanyfields=rstemp.fields.count -1

ax=0
sx=0
kx=0

dim amitem(100)
dim smitem(100)
dim kmitem(100)

do until rstemp.eof
amitem(ax) = rstemp("arbetsomrade")
ax=ax+1
rstemp.movenext
loop

do until rstemp2.eof
smitem(sx) = rstemp2("skola")
sx=sx+1
rstemp2.movenext
loop

do until rstemp3.eof
kmitem(kx) = rstemp3("klass")
kx=kx+1
rstemp3.movenext
loop

%>

<select NAME="skola">
<option></option>
<% for i = 0 to (sx - 1) %>
<option> <% response.write smitem(i) %> </option>
<% next %>
</select>

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)