Avatar billede djsteiner Nybegynder
03. juli 2011 - 18:24 Der er 9 kommentarer og
1 løsning

select form

Hej jeg står og har brug for hjælp. til en fomular, som skal bruges til en dating side som jeg hjælper med at lave.

Det jeg gerne vil have er at man som bruger skal have mulighed for at søge på for eksempel  hårfarve og hvilket landsdel man kommer fra osv.

Men det skal så være muligt kun at søge på et at søgekriteriene!

Altså hvis man, som bruger kun vil søge på hvilket landsdel og ikke alle de andre søgekriterie så udskriver den kun det ene resultat.

Håber dette giver mening!


jeg har lavet noget af formularen her:

<%                                                                   
sql = "SELECT * FROM grupper ORDER BY gruppenavn ASC"
set rs = Conn.Execute(sql)

sql = "SELECT * FROM haarfarve ORDER BY farve ASC"
set rs1 = Conn.Execute(sql)



%>

            <form method="post" action="index.asp?mycase=searchres" name="search">
                <select name="skat" style="border:1px solid #000000;">
                    <option selected="selected" value="0">Vælg Landsdel</option>
                    <%do until rs.eof%>
                        <option value="<%=rs("gid")%>"><%=rs("gruppenavn")%></option>
                    <%rs.movenext
                    loop%>
                </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
               
                <select name="farve" style="border:1px solid #000000;">
                    <option selected="selected" value="0">Vælg Hårfarve</option>
                    <%do until rs1.eof%>
                        <option value="<%=rs1("hid")%>"><%=rs1("farve")%></option>
                    <%rs1.movenext
                    loop%>
                </select><br /> <br />       

               
                <input type="submit" name="ok" value="Search" />
            </form>
Avatar billede claes57 Ekspert
03. juli 2011 - 18:32 #1
problemer ligger ikke her, men i den formular, der skal aflæse efter klik på Search
Og så vil koden blive meget hurtigere hvis du lod være med at hoppe fra html til asp og tilbage igen - lav det hele i asp, og brug response.write til html-koden.
Avatar billede djsteiner Nybegynder
03. juli 2011 - 19:17 #2
Okay men hvordan vil sådan en kode se ud når man har kliket på Search ?
Avatar billede softspot Forsker
03. juli 2011 - 19:56 #3
djsteiner >> Er du ikke allerede igang med at få svar på dette spørgsmål et andet sted her på eksperten??

claes57 >> Har du noget konkret belæg for at påstå dette? Umiddelbart oversættes en ASP-side til noget mere maskinært første gang den indlæses i cachen og derefter vil det være den oversatte udgave der udføres. Lur mig om den oversatte udgave ikke allerede har gjort arbejdet med at gøre det hele til noget strømlinet. Jeg har ikke selv kunne konstatere nogen forskel på den ene eller den anden måde, så jeg bruger den der er mest overskuelig (nemlig at skifte mellem ASP og HTML - i flæng! ;-))...
Avatar billede claes57 Ekspert
03. juli 2011 - 20:17 #4
#3 og
    <%do until rs.eof%>
    <option value="<%=rs("gid")%>"><%=rs("gruppenavn")%></option>
    <%rs.movenext
    loop%>
er bedre (lettere at læse end)
<%  do until rs.eof
    response.write "<option value=" & rs("gid") & ">" & rs("gruppenavn") & "</option>"
    rs.movenext
    loop
%>

den sidste har ikke så meget lan-kommunikation og mindre server-cpu-krav, og sparer derfor på servers ressourcer - hvis du kører på lejet server kan du være ligeglad - men prøv at tænke på den, der skal sikre båndbredde hvis du nu får mere end en besøgende i timen.
Avatar billede softspot Forsker
03. juli 2011 - 20:34 #5
claes57 >> Dette er da en interessant debat og måske vi skulle tage den i en ny tråd... Jeg er dog interesseret i at høre lidt mere om argumenterne for, hvorfor den der skifter mellem ASP og HTML har øget LAN-kommunikation ifht. den anden... umiddelbart skal ASP-siden jo ikke hentes over netværket, men ligger på webserveren der skal udføre den, så det argument kan jeg ikke forstå...?

Jeg tror ikke du kan lave en test der giver en reel målbar forskel selvom du udfører den samme side 100 gange efter hinanden.

Hvis du vil satse på performance vil jeg mene der er 1000 gange mere at hente ved at kode tingene bedre og optimere dine databasekald. Jeg synes i det mindste ikke det er værd at ofre læsbarheden af koden for at hente den smule der måske (men givetvis ikke) er ved at kode siden med rene response.writes...
Avatar billede claes57 Ekspert
03. juli 2011 - 20:45 #6
>> softspot
hver gang server måder html, så skippes det afsted - det giver mange små pakker - modsat det, jeg vil - få store pakker.
Det er så min holdning.

Og det oprindelige - jeg kender ikke relationer mellem grupper, haarfarve, og selve personerne, så det er ret svært at designe et kald efterfølgende. Det letteste på en access-database er at lave en forespørgelse, der indeholder alle tre (eller flere) tabeller. Så kan man i den spørge på hvor hårfarve er brun og gruppe er nordsjælland (jeg ville så nok synes at fx højde/drøjde var vigtigere end en hårfarve, der let kan skiftes).
Avatar billede softspot Forsker
03. juli 2011 - 21:08 #7
claes57 >> Det skippes ikke afsted hvis du har slået buffering til (og det er efter min bedste overbevisning) standard-instillingen for ASP på IIS 6+ (måske endda også IIS 5). I øvrigt er dette også tilfældet når du kalder Response.Write, så igen ingen forskel der...

Jeg har dog en mistanke om, hvor din overbevisning kan komme fra, nemlig fra helt "gamle" dage (præ IIS 5), hvor der vist ikke skete nogen form for caching og præcompilering af ASP-sider og det derfor var mere relevant at undgå skift mellem ASP og HTML... jeg er dog ikke helt sikker på dette, da jeg ikke har kodet til noget tidligere end IIS 5.
Avatar billede djsteiner Nybegynder
03. juli 2011 - 23:46 #8
Hej i to

Jeg ved det godt softspot  men ville lige høre her under Javascript om der findes en løsning på mit problem her.

Men som jeg forstår det er det bedst at lave det hele i asp ?

Men jeg skal vel lukke denne tråd ?

Ps. jeg gør ikke dette for at fornærme nogen vil bare gerne blive kloger/bedre.

Måske jeg skulle jeg blive bedre til grundbegreberne i den kode som jeg laver.
Avatar billede softspot Forsker
04. juli 2011 - 08:55 #9
Du skal jo starte et sted, så at du forsøger at lære er der vel ikke nogen der kan klandre dig for... :-)
Avatar billede djsteiner Nybegynder
06. juli 2011 - 18:19 #10
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester