12. januar 2001 - 23:02 Der er 60 kommentarer og
1 løsning

HJÆÆLP HASTER !!! <SELECT> form - gode point at tjene...

Jeg har lavet det før, men jeg tror jeg har stirret mig blind på det, og jeg er lidt lost!!
###!!#!!!#!#!#!#!!#!!##!#!#!#!#!

Jeg skal have lavet en <select> ting, med udtræk fra en tabel - but with a twist ;).

Jeg har en tabel som ser ud således:
(her vist semikolonsepareret)

gruppenavn;medlemsnavn;medlemsnummer
arbejde;niels;41236546
arbejde;bosse;21693560
arbejde;mølle;40296633
alarm;wind1;65987454
alarm;windfact;41236546

(DSN=worxmill)


kolonnen med medlemsnavne skal i ikke tænke på. Den skal ikke med, men er vist her for overblikkets skyld. Det er kun gruppenavn og medlemsnummer der skal arbejdes med.
Det er en access2000 database.

Jeg skal lave flg. via asp:
<select>
<option value=\"41236546,21693560,40296633\">arbejde</option>
<option value=\"65987454,41236546\">alarm</option>
</select>

Det er et alarmsystem, som skal sms\'e til en gruppe håndværkere. Altså hvis en vindmølle melder fejl i de data den sender til vores server, så kan den som er på vagt sende en emkelt sms til en hel gruppe.
Der kan være op til 20 medlemmer i en gruppe.
Jeg har altså stirre mig blind på det. Jeg har kigget på muligheder i arrays, men får nogle forbandede fejl hver gang, så jeg vil med glæde give 1000 point til den som kan komme med en løsning.
Jeg vil selvfølgelig gerne have en løsning der kører så hurtigt som muligt, så det er med at minimere antallet af åbninger til DSN\'en ;)

Meget gerne snarest.
Avatar billede madd Nybegynder
12. januar 2001 - 23:11 #1
Hvad er det helt bestemt du vil trække ud fra db\'en?

/MadD
12. januar 2001 - 23:16 #2
Kan du ikke se det som ligger i SELECT tag\'en ?
Den viser gruppenavn 1 gang, og tager alle medlemsnumrene.

Eks.
arbejde - 41236546,21693560,40296633
og helt præcis:
<select>
<option value=\"41236546,21693560,40296633\">arbejde</option>
<option value=\"65987454,41236546\">alarm</option>
</select>
Avatar billede madd Nybegynder
12. januar 2001 - 23:16 #3
Ok...fikser den lige....
12. januar 2001 - 23:18 #4
jeg er online indtil ved 0200 tiden.
icq# 7075597
Avatar billede madd Nybegynder
12. januar 2001 - 23:27 #5
Her:

-----------------------------
<%
strConn = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"dindb.mdb\")
Set objRS = Server.CreateObject(\"ADODB.RecordSet\")
strQ = \"SELECT * FROM Adgangskoder WHERE gruppenavn = \'arbejde\';\"
    objRS.Open strQ, strConn

%>

<select>
<option value=\"
<%
Do Until rs.EOF
%>
    <%= objRS(\"medlemsnummer\") & \",\"%>
<%
RS.MoveNext
Loop
%>
\">arbejde</option>
<%
strQ = \"SELECT * FROM Adgangskoder WHERE gruppenavn = \'arbejde\';\"
    objRS.Open strQ, strConn
%>
<option value=\"
<%
Do Until rs.EOF
%>
    <%= objRS(\"medlemsnummer\") & \",\"%>
<%
RS.MoveNext
Loop
%>
\">alarm</option>
</select>
<%
objRS.Close
    Set objRS = Nothing
%>
----------------------------

/MadD
Avatar billede madd Nybegynder
12. januar 2001 - 23:28 #6
jeg har ikke testet den af endnu, da jeg sider på en maskine uden access...
Men i princippet burde den funge... =)

/MadD
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:28 #7
Du mangler en Set Conn ..
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:29 #8
og en Conn.Open
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:30 #9
og det her var ikke HELT hvad han ville have  .. han ville have ALLE grupper i een select, men hvor VALUE vat sat til samtlige medlemsnumre inden for den gruppe
12. januar 2001 - 23:32 #10
Been there madd ;)

Jeg ser hvad du mener, men du glemmer en vigtig ting.
Det du viser er at jeg kun kan vælge en gruppe...
Select tagen skal jo blive ved indtil tabellen i DB er tom.
I mit ovenstående tabeloversigt ser du at der er 2 forskellige navne i kolonnen; gruppenavn, derfor skal <select> se ud åsdan her:

<select>
<option value=\"41236546,21693560,40296633\">arbejde</option>
<option value=\"65987454,41236546\">alarm</option>
</select>

Hvis tabellen i DB havde indeholdt flere endnu skulle select også vokse...
Derfor afviser jeg ;)
12. januar 2001 - 23:32 #11
tdaugaard har helt ret ;)
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:32 #12
faktisk er der mange fejl i din kode..
Avatar billede madd Nybegynder
12. januar 2001 - 23:35 #13
Putter den ikke også alle grupper i een select? Og alle medlemmer der har arbejdsgruppe som f.eks arbejde i option-Arbejde?
Men, sæl\'fø\'lig...du er experten.... :)
Tdaugaard > kommer du ikke lige på icq?
12. januar 2001 - 23:36 #14
Jo det gør den:
<select>
<option value=\"41236546,21693560,40296633(=medlemsnumre)\">arbejde(=gruppenavn)</option>
<option value=\"65987454,41236546\">alarm</option>
</select>
Avatar billede erikjacobsen Ekspert
12. januar 2001 - 23:38 #15
du skal lave en select ordnet efter gruppenavn, og så skal du i
din whileløkke i gennemløbet af resultatet checke om den værdi
ændrer sig. Minder det dig om noget du har lavet før?

Men må jeg - kraftigt - anbefale dig at lave det på en anden måde?
Vis de de grupper i select-boxen, men uden SMS-numre. Når du så
vælger en af dem, og skal sende en SMS slår du på en gang til med
en select med den pågældende gruppe. Virker meget nemmere for mig.
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:38 #16
pnp;> hvis ikke du kan bruge madd\'s så er jeg i gang med at finde ud af noget..
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:39 #17
erikjacobsen siger noget ... :-)
Avatar billede madd Nybegynder
12. januar 2001 - 23:44 #18
Jep...
12. januar 2001 - 23:47 #19
erikjacobsen>
jeg ser hvad du  mener.
Du mener jeg skal lave en group by, og når jeg trykker på submit, skal der knaldes op for databasen igen, og så finde numrene ?

Den er ret nem, og ikke 1000 point værd.
Jeg vil meget gerne have det genereret sm beskrevet tidligere:

<select>
<option value=\"41236546,21693560,40296633\">arbejde</option>
<option value=\"65987454,41236546\">alarm</option>
</select>
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:49 #20
pnp:> det er vel ligemeget om det er 1000 poitn værd hvis det er bedre og nemmere !?
Avatar billede erikjacobsen Ekspert
12. januar 2001 - 23:51 #21
Jeg har sgu heller ikke svaret - kan du bruge det eller ej - det er op til dig.
Hvad med det første jeg skrev ?
12. januar 2001 - 23:52 #22
tdaugaard>
Jo den er nemmere
Hvorfor har jeg ikke lige tænkt på den ????
Den er jo logisk.
Det er nok fordi jeg har stirret mig blind på at få den til at genere det hele på 1 gang, og så at jeg læser i javascript lige nu  *LOL*

Skulle jeg afvise mine 1000 point og hente dem hjem igen. NO way !!!

Nej, fanmer ikke nikke nej ;)
Jeg vil lære noget nu.

Kom med den rigtige løsning, så smider jeg mine point afsted.
Jeg vil bare så gerne se hvordan i Xperter gør det ;-)
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 23:55 #23
Sådan her ville jeg gøre det ... det er ikke testet da jeg ikke har en DB at teste med..

<select name=\"noget\">
<%
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
   
    strSQL = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"dindb.mdb\")
    Conn.Open strSQL
   
    strSQL = \"SELECT * FROM adgangskoder ORDER BY gruppenavn;\"
    Set Rs = Conn.Execute(strSQL)

    Do
        If strGruppe = \"\" Then strGruppe = Rs(\"gruppenavn\")
        If strGruppe <> Rs(\"gruppenavn\") Then
            strOpt = Left(strOpt, Len(strOpt) - 1)
            Response.Write \"    <option value=\'\" & strOpt & \"\'>\" & strGruppe
            strGruppe = Rs(\"gruppenavn\"): strOpt = \"\"
        End If
       
        strOpt = strOpt & Rs(\"medlemsnummer\") & \",\"

        Rs.MoveNext
    Loop Until (Rs.Eof Or Rs.Bof)

    strOpt = Left(strOpt, Len(strOpt) - 1)
    Response.Write \"    <option value=\'\" & strOpt & \"\'>\" & strGruppe
   
    Set Rs = Nothing
    Conn.Close: Set Conn = Nothing
%>
</select>
12. januar 2001 - 23:58 #24
jeg tester det lige, og vender tilbage om 2sek.
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:00 #25
oki ...  det virker .. har lige testet på en anden DB ..
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:02 #26
Dog er den her bedre da den ikke tage hensyn til om gruppenavn er med store eller små bogstaver .. jeg havde nemlig probs med det da det i min database skiftede mellem f.eks. Danish og danish selvom det var det samme ..

<select name=\"noget\">
<%
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
   
    strSQL = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"system.mdb\")
    Conn.Open strSQL
   
    strSQL = \"SELECT * FROM adgangskoder ORDER BY gruppenavn;\"
    Set Rs = Conn.Execute(strSQL)

    Do
        If strGruppe = \"\" Then strGruppe = LCase(Rs(\"gruppenavn\"))
        If strGruppe <> LCase(Rs(\"gruppenavn\")) Then
            strOpt = Left(strOpt, Len(strOpt) - 1)
            Response.Write \"    <option value=\'\" & strOpt & \"\'>\" & strGruppe & vbCrLf
            strGruppe = LCase(Rs(\"gruppenavn\")): strOpt = \"\"
        End If
       
        strOpt = strOpt & Rs(\"medlemsnummer\") & \",\"

        Rs.MoveNext
    Loop Until (Rs.Eof Or Rs.Bof)

    strOpt = Left(strOpt, Len(strOpt) - 1)
    Response.Write \"    <option value=\'\" & strOpt & \"\'>\" & strGruppe
   
    Set Rs = Nothing
    Conn.Close: Set Conn = Nothing
%>
</select>
Avatar billede erikjacobsen Ekspert
13. januar 2001 - 00:02 #27
det er nemlig smuk kode, td ;-)
Avatar billede madd Nybegynder
13. januar 2001 - 00:04 #28
tdaugaard > du mangler vel aflutnings </option>
13. januar 2001 - 00:04 #29
Ikke for at være en trals besværlig gut, men ;)

Kan vi fjerne det sidste komma i value\'sne ?

View source:
<option value=\'21693560,40296633,41236546,\'>arbejde
Avatar billede madd Nybegynder
13. januar 2001 - 00:05 #30
eller oxo er det bare mig, der er for træt :D
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:06 #31
erikjacobsen:> *S* taak:-)
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:09 #32
pnp:> det skulle strOpt = Left(strOpt, Len(strOpt) - 1) da gerne tage sig af !?
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:11 #33
pnp:> her er view source fra min test:

<option value=\'anusmanden,JOHN,kim,JOHN,tdaugaard,anusmandens,MadD,hejsa,ka,cc,tdaugaard\'>computers
Avatar billede madd Nybegynder
13. januar 2001 - 00:13 #34
Hvad laver mit navn i din test...fyfy...lol
13. januar 2001 - 00:14 #35
desværre:

value=\'21693560,40296633,41236546,\'>
Avatar billede madd Nybegynder
13. januar 2001 - 00:15 #36
Denne her burde oxo virke, men det gør den ikke!
Replace(Right(strOpt,1),\",\",\"\")

tdaugaard > Vi ser jo tydeligt at din bedste venner er f.eks anusmanden...lål! ;)
13. januar 2001 - 00:16 #37
tdaugaard 
:> UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD UNDSKYLD


Du ahr helt ret.
Jeg havde et par tomme felter, så den virker 100%, dog mangler </option>
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:16 #38
madd:> DB fra min chat ;-)

pnp:> okay :

<select name=\"noget\">
<%
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
   
    strSQL = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"system.mdb\")
    Conn.Open strSQL
   
    strSQL = \"SELECT * FROM adgangskoder ORDER BY gruppenavn;\"
    Set Rs = Conn.Execute(strSQL)

    Do
        If strGruppe = \"\" Then strGruppe = LCase(Rs(\"gruppenavn\"))
        If strGruppe <> LCase(Rs(\"gruppenavn\")) Then
            intComma = InStrRev(strOpt, \",\"): strOpt = Left(strOpt, intComma - 1)
            Response.Write \"    <option value=\'\" & strOpt & \"\'>\" & strGruppe & vbCrLf
            strGruppe = LCase(Rs(\"gruppenavn\")): strOpt = \"\"
        End If
       
        strOpt = strOpt & Rs(\"medlemsnummer\") & \",\"

        Rs.MoveNext
    Loop Until (Rs.Eof Or Rs.Bof)

    intComma = InStrRev(strOpt, \",\"): strOpt = Left(strOpt, intComma - 1)
    Response.Write \"    <option value=\'\" & strOpt & \"\'>\" & strGruppe
   
    Set Rs = Nothing
    Conn.Close: Set Conn = Nothing
%>
</select>
Avatar billede madd Nybegynder
13. januar 2001 - 00:16 #39
Hehe....for engangs skyld har jeg ret....YES! :O
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:17 #40
pnp:> *GG* nå oki .. men så se venligst bort fra ovenstående ;o)
Men jeg er ikke sikker på om </option> skal være med når man bruger <option value=\"..\">
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:18 #41
<option value=\" g\">fd bla bla
<option value=\"g \"> bla bla


virker fint i både IE & NS
Avatar billede madd Nybegynder
13. januar 2001 - 00:21 #42
tdaugaard:> \"Men jeg er ikke sikker på om </option> skal være med når man bruger <option value=\"..\">
\"- Min Homesite er da mægtig glad for at man SKAL putte det afsluttende </option> på!

Har du forresten tid til at hjælpe mig nu... >)

13. januar 2001 - 00:22 #43
Homesite 4 ROX.
Det bedste proggy til dato.
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:23 #44
madd:> HomeSite lugter ... og desuden putter homesite end tags på ALT hvad der HAR et end tag ..

<p> har også et end tag, men det er ikke nødvendigt at bruge det .. det mener homesite dog
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:24 #45
Visual InterDev så kører det ... men det er mere til ASP og ikke HTML
13. januar 2001 - 00:24 #46
tdaugaard:>
det kommer da vist an på hvordan du sætter Homesite op ?
Min sætter ikke end tag på <p> ?
Men ellers har du da ret, men i settings kan man vel pille  det af ?

Man finder ikke bedre color-encoding end på Homesite 4
13. januar 2001 - 00:25 #47
tdaugaard:>
Hvilken editor bruger du ?
13. januar 2001 - 00:26 #48
tdaugaard:>
Visual interdev er fed, det har du ret i, men jeg har desværre endnu ikke haft tiden til at dykke dybt i den, så derfor er jeg blevet ved Homesite 4
13. januar 2001 - 00:28 #49
tdaugaard:>
Du blev 1000 point rigere
og mange tak...
Oxo til madd...
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:30 #50
pnp:> Jeg kan godt lide InterDev pga. bl.a. intellisense\'n på referencerede objekter samt dens diskrete, men gode syntax highlighting .. og homesite\'s syntax h.l. er ikke optimal .. den skelner ikke ordentligt i mixed language filer
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:31 #51
pnp:> taak :-) det faldt på et \"tørt\" sted :-)
Avatar billede erikjacobsen Ekspert
13. januar 2001 - 00:32 #52
Man sætter end-tags på det der har end-tags. Det kan I knægter godt vænne
jer til ... haha.<p>
Hvis I bruger den der p-tag som jeg har gjort her, så gør I noget browserne
forstår, men som formelt er forkert. Og hvorfor så det? Jo, den først paragraf har
jo ikke haft glæde af eventuelle styles, der er sat på <p>-et. Derfor bør I
altid bruge

<p>Anas, anes, anis, anos</p>
<p>ananas, bananer, appelsiner</p>
13. januar 2001 - 00:33 #53
tdaugaard:>
Your welcome...

Findes der online (små)kurser til rimeligt erfarne programmører, men ikke så erfarne interdev brugere ?
Evt. via nettet ?
Avatar billede madd Nybegynder
13. januar 2001 - 00:34 #54
Hmm...angående Homesite, hvis du har den nyeste version, har Allaire forbedret deres syntax highlightning en hel del!!
InterDev har det med at lave alting gult synes jeg...jeg kan ikke fordrage gult..lål!

/MadD
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:40 #55
erikjacobsen:> det skulle man vel dengang du var ung og sad og \"kodede\" til gopher systemet ? *GG*
Ej ..det kan godt være man, efter W3C, skal .. meen det har jeg aldrig gjort .. (ikke på <p>, <option> og et par stykker andre..)

madd:> jeg har den sidste nye homesite og jeg synes stadig det er noget uproffesionelt hø ;o) InterDev laver <% og %> med gul BG ... og det er alt..
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:41 #56
forøvrigt har InterDev en fed funktion der gør at man kan paste f.eks.

<p>noget tekst</p> ind i teksten som &lt;p&gt;noget tekst&lt;/p&gt;

og DET er fedt!
Avatar billede erikjacobsen Ekspert
13. januar 2001 - 00:43 #57
kan du ikke se min pointe med styles på <p>?
13. januar 2001 - 00:44 #58
tdaugaard:>
det kan homesite da oxo.
Avatar billede tdaugaard Nybegynder
13. januar 2001 - 00:46 #59
erikjacobsen:> jow da, men bruger du altid <p></p> rundt om dit indhold ?
Avatar billede madd Nybegynder
13. januar 2001 - 00:49 #60
jowjow.... homesite laver kun de forfærdelige <p> når du bruger design mode...og hvem gør det? -INGEN!(Ihvertfald ikke mig!) ;)
Forresten> <p></p> bliver det ikke brugt lidt lissom et \"afsnit\" altså 2x <br> på det sidste </p>???

/MadD
13. januar 2001 - 01:00 #61
Sweet wet dreamz everyone ;)
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

IT-JOB

Capgemini Danmark A/S

AI Data Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Specialister til Netværksoperations til Forsvarets nye Digitale Backbone

Supporters A/S

Support specialist