Avatar billede moejensen Nybegynder
31. marts 2004 - 07:26 Der er 10 kommentarer og
1 løsning

Hjælp til gem af form og checkboxe i flere tabeller

Jeg er ved at lave noget bruger kontrol på en hjemmeside, hvor man skal kunne vælge hvilke sider en bruger må se når man opretter brugeren. Jeg har tænkt mig at når man opretter brugeren, så skal der være en checkbox for hver side, hvor man kan checke af hvilke sider brugeren må se.

I databasen har jeg følgende tabeller:

Sites
-------
id
Title

Users
-----
id
navn
pass

Jeg forestiller mig at lave en tabel der samler side id og user id

sideuser
----------
id
sideID
UserId

En hurtig skitse til koden kunne være:

<form method="POST" action="--WEBBOT-SELF--">
    <p>Navn: <input type="text" name="T1" size="20"><br>
    Kode:<input type="text" name="T2" size="20"><br>
    <br>
    Sider</p>
    <p><input type="checkbox" name="C1" value="ON">Nyhedsside</p>
    <p><input type="checkbox" name="C2" value="ON">Kalender</p>
    <p><input type="checkbox" name="C3" value="ON">Brugerside<br>
    <br>
    <input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></p>
</form>


Jeg har følgende spg i denne forbindelse.

1) Hvordan er det med checkboxe skal de have samme navn når man skal kunne vælge flere i samme form??

2) Hvordan får jeg lavet en INSERT INTO sql sætning der gemmer i både users og sideuser med de rigtige værdier??
Avatar billede phineas_phreak Nybegynder
31. marts 2004 - 08:48 #1
strSQL = "Insert into users (id,pass,navn) values('"&Request.Form("C1")&"','"&Request.Form("C2")&"','"&Request.Form("C3")&"')

strSQL2 = "Insert into sideuser (id,pass,navn) values('"&Request.Form("C1")&"','"&Request.Form("C2")&"','"&Request.Form("C3")&"')
   
Conn.Execute(strSQL, strSQL2)
Avatar billede moejensen Nybegynder
31. marts 2004 - 08:54 #2
er der ikke noget med at checkboxene skal have samme navn??

jeg skal jo ikke have pass og name ind i sideuser?
Avatar billede phineas_phreak Nybegynder
31. marts 2004 - 09:02 #3
undskyld så ik det så anderledes ud i sideuser.

Hvad skal du ha ind i sideuser udover id ?
Avatar billede phineas_phreak Nybegynder
31. marts 2004 - 09:03 #4
har id, sideID, userid samme værdi ?
Avatar billede moejensen Nybegynder
31. marts 2004 - 09:06 #5
Nej det er de ikke, jeg skal måske hellere skrive: sideuser.id, users.id og Sites.id, så der ikke bliver tvivl.
Avatar billede phineas_phreak Nybegynder
31. marts 2004 - 09:10 #6
jeg tror bare ikke jeg er med så.

hvor henter du sideID, userid fra i SIDEUSER ?
Avatar billede phineas_phreak Nybegynder
31. marts 2004 - 09:15 #7
ok som jeg forstår det nu så er:

sites.id = sideuser.sideID
users.id = sideuser.userID
Avatar billede moejensen Nybegynder
31. marts 2004 - 09:22 #8
yep, det er sådan det skal forståes
Avatar billede phineas_phreak Nybegynder
31. marts 2004 - 09:22 #9
Men på den måde du har lavet det der bliver du nødt til at bruge flere kolonner, du kan ikke gemme nyhedsside, kalender, brugerside i en kolonne.

Derfor skal din tabel du skriver hvad folk ha adgang til se sådan ud:

sites
id : autonummerering
c1 : tekst
c2 : tekst
c3 : tekst

Så kan du gøre følgende:

C1 = request.form("C1")
C2 = request.form("C2")
C3 = request.form("c3")

If C1 = ""
then C1 = "ingen adgang"
end if

If C2 = ""
then C2 = "ingen adgang"
end if

If C3 = ""
then C3 = "ingen adgang"
end if

' db connection
' så laver vi vores SQL hvor vi indsætter adgangssider

strSQL = "Insert into sites (c1,c2,c3) values(c1,c2,c3)
Conn.Execute(strSQL)
Avatar billede moejensen Nybegynder
31. marts 2004 - 09:31 #10
det er meningen at sideuser skal være sammenfletningen mellemuser og sider, så ex

bruger med user.id = 2
kan have adgang til side.id = 5, side.id = 8, side.id = 12

så vil sideuser indeholde følgende:

sideuser
-----------
id  user.id  side.id
1      2        5
2      2        8
3      2        12
Avatar billede moejensen Nybegynder
31. marts 2004 - 13:55 #11
jeg er selv kommet et stykke vej nu, så jeg omformulere lige spg og opretter et mere spicifikt.
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