/ 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
Opbyggen en SQL ud fra Checkboxe
Fra : SpookiePower


Dato : 30-09-04 09:14

Jeg er ved at lave en hjemmeside hvor man kan skrive beskeder til
andre hold, end det man selv er placeret på.

I min første version brugte jeg radiobuttons hvor man valgte hvilket hold
man ville skrive til. Det betød også at man kun kunne skrive til et hold
af gangen.

Jeg havde lavet det på den måde at hvis hold et var valgt, så brugte
den SQL-sætning nr 1. Valgte man at skrive til hold 2 brugte den
SQL-sætning nr 2 osv.

Nu vil jeg gerne lavet det med checkbox'es, så man har mulighed
for at krydse de hold af, som man vil skrive til. Men jeg kan simpelthen
ikke knække hvordan jeg skal opbygge SQL'en. Jeg kan jo ikke som
i min første version, udlede alle de SQL sætninger der kan kombineres,
og så gøre det på den måde.

Min ide var at der i databasen sammen med beskeden skulle være
hold1, hold2,hold3..... Der skulle så placeres et 0 eller 1 ud for hvert
hold, alt efter om beskeden skal læses af det eller de pågældende hold.

Så det må være noget med at hvis checkbox1 er afkrydset, skal der
indsættes 1 i SQL'en hvis chexbox2 ikke er afkrydset, skal der
indsættes 0 i SQL'en osv...






 
 
Jens Gyldenkærne Cla~ (30-09-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-09-04 11:02

SpookiePower skrev:

> Jeg havde lavet det på den måde at hvis hold et var valgt, så brugte
> den SQL-sætning nr 1. Valgte man at skrive til hold 2 brugte den
> SQL-sætning nr 2 osv.

Hvad foretager din sql-sætning i forhold til databasen? Skal den oprette
en ny post (INSERT), opdatere noget eksisterende (UPDATE) eller evt.
bare hente noget (navne, adresser på hold el. lign.)?

> Min ide var at der i databasen sammen med beskeden skulle være
> hold1, hold2,hold3..... Der skulle så placeres et 0 eller 1 ud for hvert
> hold, alt efter om beskeden skal læses af det eller de pågældende hold.

Det er enkelt at lave, men besværligt at vedligeholde - hvis du får
flere hold, skal du ændre databasestrukturen.

Du har mulighed for at lave en løsning hvor du sammenkæder hold og
beskeder med en mange-til-mange-relation. På den måde kan du have
vilkårligt mange hold - og du kan let oprette og slette hold løbende. En
besked knyttes til et hold ved hjælp af en post i en mellemtabel. Den
skal bare indholde beskedID og holdID. Når der oprettes en besked skal
du så bare hente de holdnumre der er hakket af, og lave en
insert-forespørgsel for hver af dem.

Det kan fint gøres med checkbokse - giv dem samme navn (fx holdID) og
lad dem have forskellige værdier (holdID for hvert hold). Så kan du med
ét formrequest hente et array af Id-numre. Det kan løbes igennem med en
For Each-løkke der kører insert-kommandoen for hvert enkelt id.


> Så det må være noget med at hvis checkbox1 er afkrydset, skal der
> indsættes 1 i SQL'en hvis chexbox2 ikke er afkrydset, skal der
> indsættes 0 i SQL'en osv...

Medmindre vi taler om en opdateringsforespørgsel, er der ikke grund til
at tage højde for 0'erne. Lad 0 være standardværdien og nøjs med at
tildele værdier der hvor der skal stå 1.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

SpookiePower (30-09-2004)
Kommentar
Fra : SpookiePower


Dato : 30-09-04 11:10


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:1uz3j5sokp8ul$.dlg@jcdmfdk.invalid...

> Hvad foretager din sql-sætning i forhold til databasen? Skal den oprette
> en ny post (INSERT), opdatere noget eksisterende (UPDATE) eller evt.
> bare hente noget (navne, adresser på hold el. lign.)?

Den skal INSERT en ny besked hver gang den bruges.


>> Min ide var at der i databasen sammen med beskeden skulle være
>> hold1, hold2,hold3..... Der skulle så placeres et 0 eller 1 ud for hvert
>> hold, alt efter om beskeden skal læses af det eller de pågældende hold.
>
> Det er enkelt at lave, men besværligt at vedligeholde - hvis du får
> flere hold, skal du ændre databasestrukturen.

Ja, det tænkte jeg også om det kunne være. Min ide var at databasen
kunne se sådan ud -
nyhed - hold1 - hold2 - hold3 - ......
Så skal der jo bare tilføjes en ekstra kollone med et nyt hold, men jeg
kan ikke rigtig oberskue så langt frem om det giver problemer senere.


> Du har mulighed for at lave en løsning hvor du sammenkæder hold og
> beskeder med en mange-til-mange-relation. På den måde kan du have
> vilkårligt mange hold - og du kan let oprette og slette hold løbende. En
> besked knyttes til et hold ved hjælp af en post i en mellemtabel. Den
> skal bare indholde beskedID og holdID. Når der oprettes en besked skal
> du så bare hente de holdnumre der er hakket af, og lave en
> insert-forespørgsel for hver af dem.

Ja, det lyder ikke helt dårligt.

> Det kan fint gøres med checkbokse - giv dem samme navn (fx holdID) og
> lad dem have forskellige værdier (holdID for hvert hold). Så kan du med
> ét formrequest hente et array af Id-numre. Det kan løbes igennem med en
> For Each-løkke der kører insert-kommandoen for hvert enkelt id.

Det vil jeg kigge nærmere på.


>> Så det må være noget med at hvis checkbox1 er afkrydset, skal der
>> indsættes 1 i SQL'en hvis chexbox2 ikke er afkrydset, skal der
>> indsættes 0 i SQL'en osv...
>
> Medmindre vi taler om en opdateringsforespørgsel, er der ikke grund til
> at tage højde for 0'erne. Lad 0 være standardværdien og nøjs med at
> tildele værdier der hvor der skal stå 1.

God ide med 0 som default værdi.






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

Månedens bedste
Årets bedste
Sidste års bedste