Avatar billede Slettet bruger
23. juli 2005 - 16:49 Der er 18 kommentarer og
1 løsning

Problemmer med sendning fra dropdown box

Jeg har lidt problemer med at sende data fra min dropdown boxe.

Jeg har 2.
--------------------------------
Nr 1:

set rs2    =    Conn.Execute("SELECT Runde FROM DATA_runde ORDER by Runde")

Response.Write("<select name=""runde"">")

do while not rs2.eof
                       
Response.Write("<option value=""" &  rs2("runde") & """")
Response.Write(">" & rs2("runde") & "<")
Response.Write("/option>")
                       
                   
rs2.movenext
loop
Response.Write("</select>")


Jeg har 2 runder i databasen. Runde 1 og runde 2.
Når jeg trykker Dropdown box'en ned så viser skeriver den 2 valg muligheder men det er 2 gange runde 1.
--------------------------------

Nr2:

set rs1    =    Conn.Execute("SELECT Hold FROM DATA_Hold ORDER by Hold")

Response.Write("<select name=""Hold"">")

do while not rs1.eof
                       
Response.Write("<option value=""" &  rs1("Hold") & """")
Response.Write(">" & rs1("Hold") & "<")
Response.Write("/option>")
                       
                   
rs1.movenext
loop
Response.Write("</select>")

Her er problemmet at jeg har 2 hold i databasen.
Hold 1 og Hold 2.

Når jeg så vælger dropdown boxen så viser den 2 tomme felter jeg kan vælge imellem. Og når jeg vælger den første og sender det bliver teksten Hold 1 sendt til min database Hvis jeg derimod Vælger det andet tomme felt og trykker send ja så sender den ikke noget.
--------------------------------
Hvad gør jeg galt??
Avatar billede busschou Praktikant
23. juli 2005 - 16:53 #1
måske fordi der går ged i det i tre linjer
prøv rette
--
Response.Write("<option value=""" &  rs2("runde") & """")
Response.Write(">" & rs2("runde") & "<")
Response.Write("/option>")
--
til
--
Response.Write("<option value="""&rs2("runde")&""">"&rs2("runde")&"</option>")
Avatar billede busschou Praktikant
23. juli 2005 - 16:54 #2
evt tilsvarende med den anden
Hvis det ikke virker så prøv smide en "vis kilde" herind så kan vi se om opbygningen ser rigtig ud
Avatar billede Slettet bruger
23. juli 2005 - 17:02 #3
Hmmm ja det var rigtigt ved nr. 2.

Men nr. 1 er der stadig problemmer med.

Her er toppen hver problemmet er:
<%
set rs    =    Conn.Execute("SELECT * FROM DATA_Hold ORDER by Hold")
       
    If len(session("fejltekst")) > 0 then
        Response.Write("<font color=""#ff0000"">" & session("fejltekst") & "</font>")
        session("fejltekst") = ""
    end if

Response.Write("<form action=""Hold_create.asp"" method=""post"">")
   
    Response.Write("<table><tr><td>")
   
            Response.Write("Hold:")
        Response.Write("</td><td>")
set rs1    =    Conn.Execute("SELECT Hold FROM Data_Hold ORDER by Hold")
Response.Write("<select name=""Hold"">")

                    do while not rs1.eof

                       
                        Response.Write("<option value=""" &  rs1("Hold") & """>" & rs1("Hold") & "</option>")
                       
                   
                    rs1.movenext
                    loop
                    Response.Write("</select>")


        Response.Write("</td></tr>")
        Response.Write("<tr><td>")
Avatar billede busschou Praktikant
23. juli 2005 - 17:06 #4
Hvis ikke denne del giver dig de værdier du regner med
---
Response.Write("<select name=""Hold"">")
do while not rs1.eof
  Response.Write("<option value=""" &  rs1("Hold") & """>" & rs1("Hold") & "</option>")
  rs1.movenext
loop
Response.Write("</select>")
---
Så tyder det på at du ikke får det ud af databasen som du regner med, måske fordi der står noget andet i databasen
Jeg mener: Hvis din select virker korrekt, men værdien er forkert, så kan det kun være derfor
Avatar billede busschou Praktikant
23. juli 2005 - 17:07 #5
Du kan jo se i din vis kilde hvad der står i html koden
Når du sætter rs1("hold") både som værdi og som tekst på hver option, så får du jo det som står i rs1("hold"), hvad det så end er ;o)
Avatar billede Slettet bruger
23. juli 2005 - 21:24 #6
Ja men det er sjov laver jeg en kopi.


set rs1    =    Conn.Execute("SELECT Hold FROM Data_Hold ORDER by Hold")
set rs2    =    Conn.Execute("SELECT Hold FROM Data_Hold ORDER by Hold")
Response.Write("<select name=""Hold"">")

                    do while not rs1.eof
                    do while not rs2.eof

                       
Response.Write("<option value=""" &  rs1("Hold") & """>" & rs2("Hold") & "</option>")
                       
                    rs1.movenext
                    loop
                    rs2.movenext
                    loop
                    Response.Write("</select>")

Så skriver den de rigtige navne i dropdownboxen
Hvis dropdownbox'en ser sådan ud:
[Hold1]
[Hold2]
Så sender den rigtigt nok Hold1 vidre hvis det er det du ber den om.
Men vælger du hold2 og trykker send så sender den ikke for den siger der ikke er noget data.

Og det hele passer med min database.
Så jeg for står det ikke.
Avatar billede busschou Praktikant
23. juli 2005 - 21:28 #7
det du laver der er en dobbelt løkke, så det giver ingen mening
kunne du ikke give et link som det var før, eller vise os "vis kilde" af din select?
Det kan kun betyde at du ikke har det i databasen som du tror du har
Eller at du vælger fra en forkert database
Når du vælger alt fra din tabel, og løber alt igennem, ja så får du også alt ud :o)
Avatar billede Slettet bruger
23. juli 2005 - 21:40 #8
Denne er med kun 1 løkke.

Som du kan se i hold dropdownbox'en så finder den data'en i value men ikke som tekst.

har er vis kilden:
<form action="Hold_create.asp" method="post">
<table>
<tr>
  <td>Hold:</td>
  <td>
  <select name="Hold">
    <option value="Hold1"></option>
    <option value="Hold2"></option>
  </select>
  </td>
</tr>
<tr>
  <td>Placering:
  </td>
  <td>
  <input type="text" name="placering" maxlength="100" value="">
  </td>
</tr>
<tr>
  <td>Spillerr:
  </td>
  <td>
  <input type="text" name="spiller" maxlength="100" value="">
  </td>
</tr>
<tr>
  <td>Mål:
  </td>
  <td>
  <input type="text" name="maal" maxlength="100" value="">
  </td>
</tr>
<tr>
  <td>Kampe:
  </td>
  <td>
  <input type="text" name="kampe" maxlength="100" value="">
  </td>
</tr>
<tr>
  <td>Tabte:
  </td>
  <td>
  <input type="text" name="tabt" maxlength="100" value="">
  </td>
</tr>
<tr>
  <td>Vundet:
  </td>
  <td>
  <input type="text" name="vundet" maxlength="100" value="">
  </td>
</tr>
<tr>
  <td>Runde:
  </td>
  <td>
  <select name="runde">
    <option value="37">37
    </option>
    <option value="38">38
    </option>
  </td>
</tr>
<tr>
  <td>
  <input type="submit" value="Opret">
  </td>
</tr>
</table>
</form>
Avatar billede busschou Praktikant
23. juli 2005 - 21:43 #9
og det er med denne her?
Response.Write("<option value=""" &  rs1("Hold") & """>" & rs1("Hold") & "</option>")
For det giver jo ingen mening så
Avatar billede Slettet bruger
23. juli 2005 - 21:46 #10
Ja det er med:
    Response.Write("<option value=""" &  rs1("Hold") & """>" & rs1("Hold") & "</option>")
Avatar billede busschou Praktikant
23. juli 2005 - 21:48 #11
hmm det fatter jeg ikke, måske glemmer den referencen
prøv sådan her
--
val = rs1("Hold")
Response.Write("<option value=""" & val & """>" & val & "</option>")
Men det burde nu være det samme
Avatar billede Slettet bruger
23. juli 2005 - 21:52 #12
Hmmm det virkede tildels.

Nu viser den Hold1 i dropdownbox'en.
Men den viser stadigt et tomt rum istedet Hold2.

TDS
Avatar billede Slettet bruger
23. juli 2005 - 21:53 #13
Og den viser ikke engang Hold2 i Value i vis kilde versionen.
Avatar billede busschou Praktikant
23. juli 2005 - 21:55 #14
du må have et og andet galt et andet sted i koden, måske kommer du til at bruge rs1 flere steder så den ikke indeholder det du tror? For det hænger slet ikke sammen ellers
Kan du poste hele din kode som den er nu på den side?
Avatar billede Slettet bruger
23. juli 2005 - 21:58 #15
Nej det gør jeg ikke.
Men den henter jo rs(Hold) fra en tabel i databasen.
i den tabel er der ID og Hold.

Hvis jeg bytter rs1(Hold) ud med rs1(ID)
så viser den Id'erne i både value og som tekst i boxen :S

Så det virker (bare ikke med hold kolonen.
Avatar billede busschou Praktikant
23. juli 2005 - 21:59 #16
i din kommentar herover nævner du rs(hold) og rs1(hold)?
post lige hele din kode :o)
Avatar billede Slettet bruger
23. juli 2005 - 22:03 #17
rs(hold) var bare mig der skrev forkert der manglede lige 1 tallet.

Men jeg slettede min tabel i databasen og skrev det ind ingen.
Og nu virker det pludselig. :S

Ved ikke hvorfor tabellen er helt 100% ens :S

Men tak for hjælpen kan du ikke lige poste et svar.
DDD
Avatar billede busschou Praktikant
23. juli 2005 - 22:04 #18
jo da :o)
nogen gange så sker der også for mig at der ikke lige står det man tror ...
nå men godt det virker :o)
Avatar billede Slettet bruger
23. juli 2005 - 22:06 #19
Jeg forstår intet.
Det er 2 ens ting jeg har lavet :P
Den første virkede ikke den anden gjorde.

Men tak igen og undskyld du måtte bruge så meget tid for ingen ting.

DDD
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
Kurser inden for grundlæggende programmering

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