/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Udtræk fra db i forbindelse med arrays
Fra : Michael Jakobsen


Dato : 11-06-01 15:11

Jeg har en formular som dels indeholder checkbokse til branche og dels
til postnr.
Når jeg har afkrydset f.eks. 3 brancher og 2 postnr og sender formen,
får jeg oplysninger om hvilke brancer og hvilke postnr der er bedt om,
så langt så godt.
Nu vil jeg så gerne, at jeg kan udtrække navne på medlemmer fra
databasen ud fra de oplysninger, altså skal den først tage branche 1
og se om der er nogle der opfylder postnr kriteriet og dernæst branche
2 o.sv. for derefter at udskrive hvilke medlemmer der er tale om.
Jeg har snart læst så mange sider der omhandler arrays og løkker så
det hele kører rundt i hovedet på mig, derfor har jeg brug for hjælp
til hvordan jeg laver dette udtræk.
Jeg håber mit spørgsmål er forklaret tydeligt nok.

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

 
 
Jakob Andersen (11-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 11-06-01 15:31

"Michael Jakobsen" <admin@goose.dk> wrote in message
news:jqj9itsidaui26nc1dsqhcvekf11lmqfat@4ax.com...
> Jeg har en formular som dels indeholder checkbokse til branche og dels
> til postnr.
> Når jeg har afkrydset f.eks. 3 brancher og 2 postnr og sender formen,
> får jeg oplysninger om hvilke brancer og hvilke postnr der er bedt om,
> så langt så godt.

Her er lidt inspiration:

arrBrancher = Split(Request.QueryString.Item("branche"), ",")
for i = 0 to Ubound(arrBrancher)
sql = "SELECT felt1, felt2 FROM tabel WHERE branche = " &
arrBrancher(i)
Set objRS = objConn.Execute(SQL)
Do while objRS.EOF
REM Udsjirv info
objRS.Movenext
Loop
next

--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "



Michael Jakobsen (11-06-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 11-06-01 21:25

On Mon, 11 Jun 2001 16:30:58 +0200, "Jakob Andersen"
<jakob@andersen.as> wrote:

>arrBrancher = Split(Request.QueryString.Item("branche"), ",")
>for i = 0 to Ubound(arrBrancher)
> sql = "SELECT felt1, felt2 FROM tabel WHERE branche = " &
>arrBrancher(i)
> Set objRS = objConn.Execute(SQL)
> Do while objRS.EOF
> REM Udsjirv info
> objRS.Movenext
> Loop
>next

Det eneste jeg så får, er en blank side, jeg kan ikke engang lave en
response.write SQL ?

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Jakob Andersen (11-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 11-06-01 22:37

"Michael Jakobsen" <admin@goose.dk> wrote in message
news:l6aaitsneitv1cus3489u64uqmoen7rd00@4ax.com...
> Det eneste jeg så får, er en blank side, jeg kan ikke engang lave en
> response.write SQL ?

Ok.. Jeg går ud fra at alle dine checkboxe har samme navn f.eks.
<input type="checkbox" name="branche" value="1">
<input type="checkbox" name="branche" value="2">
<input type="checkbox" name="branche" value="3">
<input type="checkbox" name="branche" value="4">

Når du modtare dem på den side de bliver postet til vha. enten Request.Form
eller Request.Querystring så får du noget ala dette:

2,4

Hvis altså checkboxen med value 2 og den med value 4 er krydset af. Det vi
så gør er at splitte dem op ved hvert komma og smide værdierne i et array
sådan her:

arrBrancher = Split(Request.QueryString.Item("branche"), ",")

Nu har vi et array ved navn arraybrancher der ser sådan her ud:
arrBrancher(0) = 2
arrBrancher(1) = 4

Nu bruger vi så en for løkke til at løbe igennem hvert enkel arrayværdi og
spytte alle poster ud der har dette branche id sådan her:

for i = 0 to UBound(arrBrancher)
Set objRS = objConn.Execute("SELECT felt1 FROM tabel WHERE brancheid = "
& arrBrancher(i))

Do while Not objRS.EOF
Response.write objRS("felt1")
objRS.Movenext
Loop

next

Jeg går selvfølgelige udfra at du har lavet et connection object der hedder
objConn. Og så skal du også lige huske at rydde op ved at lukke de brugte
objekter.
--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "





Jakob Andersen (11-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 11-06-01 22:37

"Michael Jakobsen" <admin@goose.dk> wrote in message
news:l6aaitsneitv1cus3489u64uqmoen7rd00@4ax.com...
> Det eneste jeg så får, er en blank side, jeg kan ikke engang lave en
> response.write SQL ?

Ok.. Jeg går ud fra at alle dine checkboxe har samme navn f.eks.
<input type="checkbox" name="branche" value="1">
<input type="checkbox" name="branche" value="2">
<input type="checkbox" name="branche" value="3">
<input type="checkbox" name="branche" value="4">

Når du modtare dem på den side de bliver postet til vha. enten Request.Form
eller Request.Querystring så får du noget ala dette:

2,4

Hvis altså checkboxen med value 2 og den med value 4 er krydset af. Det vi
så gør er at splitte dem op ved hvert komma og smide værdierne i et array
sådan her:

arrBrancher = Split(Request.QueryString.Item("branche"), ",")

Nu har vi et array ved navn arraybrancher der ser sådan her ud:
arrBrancher(0) = 2
arrBrancher(1) = 4

Nu bruger vi så en for løkke til at løbe igennem hvert enkel arrayværdi og
spytte alle poster ud der har dette branche id sådan her:

for i = 0 to UBound(arrBrancher)
Set objRS = objConn.Execute("SELECT felt1 FROM tabel WHERE brancheid = "
& arrBrancher(i))

Do while Not objRS.EOF
Response.write objRS("felt1")
objRS.Movenext
Loop

next

Jeg går selvfølgelige udfra at du har lavet et connection object der hedder
objConn. Og så skal du også lige huske at rydde op ved at lukke de brugte
objekter.
--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "





Michael Jakobsen (12-06-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 12-06-01 16:51

On Mon, 11 Jun 2001 23:36:46 +0200, "Jakob Andersen"
<jakob@andersen.as> wrote:

>Ok.. Jeg går ud fra at alle dine checkboxe har samme navn f.eks.
><input type="checkbox" name="branche" value="1">
Det er korrekt

>Når du modtare dem på den side de bliver postet til vha. enten Request.Form
>2,4
Det var min ene fejl, jeg skulle bruge request.form

>arrBrancher = Split(Request.QueryString.Item("branche"), ",")
Så langt er jeg også med

>Nu har vi et array ved navn arraybrancher der ser sådan her ud:
>arrBrancher(0) = 2
>arrBrancher(1) = 4
Hmm, jeg får 24 men det er sikkert det samme ?

>for i = 0 to UBound(arrBrancher)
> Set objRS = objConn.Execute("SELECT felt1 FROM tabel WHERE brancheid = "
>& arrBrancher(i))

Jeg tror det er her det går galt for mig, men jeg kan ikke gennemskue
det.
Hvis jeg skriver som du gør, så får jeg " denne side kan ikke
vises.....", altså en fejl.
Hvis min select streng ser sådan her ud:
"SELECT navn FROM modtager WHERE branche='Aviser'"
får jeg godt nok alle de navne som er i databasen hvor branche er
Aviser og løkken fungerer også da de bliver udskrevet lige så mange
gange som det antal checkbokse jeg har valgt i formularen.
Jeg har en fornemmelse af, at jeg roder tilpas meget rundt i plinger
og aprostoffer efter WHERE branche= men jeg mener snart jeg har prøvet
alt

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Jakob Andersen (12-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 12-06-01 17:11

"Michael Jakobsen" <admin@goose.dk> wrote in message
news:0iccit0a5ekl12b6ibkh58j4dklbnifo69@4ax.com...
> "SELECT navn FROM modtager WHERE branche='Aviser'"

Arhh.. du bruger en streng og ikke et tal OK..

> >for i = 0 to UBound(arrBrancher)
> > Set objRS = objConn.Execute("SELECT felt1 FROM tabel WHERE brancheid
= "
> >& arrBrancher(i))

for i = 0 to UBound(arrBrancher)
Set objRS = objConn.Execute("SELECT navn FROM modtager WHERE branche='"
& arrBrancher(i) & "'")
next

> Jeg har en fornemmelse af, at jeg roder tilpas meget rundt i plinger
> og aprostoffer efter WHERE branche= men jeg mener snart jeg har prøvet
> alt

Prøv ovenstående hvis det stadig ikke virker så prøv at udskrive SQLstrengen
istedet for at eksekvere den og så se om det er de rigtige SQLer du får.
--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "



Michael Jakobsen (12-06-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 12-06-01 18:56

On Tue, 12 Jun 2001 18:11:01 +0200, "Jakob Andersen"
<jakob@andersen.as> wrote:

>Prøv ovenstående hvis det stadig ikke virker så prøv at udskrive SQLstrengen
>istedet for at eksekvere den og så se om det er de rigtige SQLer du får.
Du skal have mange tusinde tak, dog ville den kun udskrive et af de
afkrydsede checkbokse hvis der var flere, men det skyldes et manglede
mellemrum i split-sætningen

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408869
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste