Avatar billede sorenmt84 Juniormester
25. juni 2001 - 17:23 Der er 5 kommentarer og
1 løsning

Hent oplysninger fra 2 tabeller

Jeg er ved at lave en side, hvor der bl.a. skal være nogle adresser lister mm.

Det er sådan så man har en funktion f.eks. webmaster. Så bliver man i tabellen: brugere oprettet med navn, adresse, telefon nr. og hele svineriet. Men nogle har 2 eller flere funktioner, hvilket gør at man bliver nød til at oprettet flere brugere, med samme navn telefon nr osv. men med forskellige funktioner.

Problemet kommer så hvis man f.eks. flytter. Så skal man til at rette tlf. nr. i mange forskellige poster hvilket er lidt træls.

Derfor vil jeg gerne have lavet et script der kan følgende:

En access database som indeholder følgende tabeller:

\"brugere\" - med følgende indhold
id
navn
adresse
postnr
by
telefon
email

\"funktioner\" - med følgende indhold
id
refid
funktion
gruppe

----------------------------------------
Altså alle personlige oplysninger i \"brugere\" og alle de formelle i \"funktioner\"
Jeg regner med at \"refid\" i \"funktioner\" skal til for at de kan pares sammen med navnene i \"brugere\"
-----------------------------------------

Man skal så på nogle sider kunne hente en adresselister over alle der f.eks. har funktionen \"webmaster\"

Så skal den \"udskrive\" en tabel ala dette:

Navn(brugere)    funktion(funktioner)      gruppe(funktioner)

På en admin side, skal man så kunne administrere sine forskellige funktioner.
Man skal altså kunne få en liste over alle de poster der er i \"funktioner\" hvor \"refid\" svarer til ens \"id\" i \"brugere\" Der skal man så kunne rette og gemme oplysningerne i databasen.

I admin modulet skal man også kunne tilføje nye poster til funktioner

Admin modulet skal være password beskyttet.

-------------------------------------------
Jeg er ikke så stærk inden for asp, så koden skal være meget overskulig, samt jeg vil meget gerne have at de forskellige felter der skal hentes fra databasen trækkes ud med noget alla dette:

<%

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db.mdb\")
strSQL = \"select * from brugere ORDER BY navn ASC\"
set rs = Conn.execute(strSQL)
if rs.EOF then
Response.write \":-(\"
else
Do Until rs.EOF
%>

<%=RS(\"navn\")%>

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>


------------------------------
Jeg håber det er til at forstå.
Avatar billede plexx Nybegynder
25. juni 2001 - 17:33 #1
Det er lidt svært at forstå
Avatar billede sorenmt84 Juniormester
25. juni 2001 - 17:40 #2
Hvad skal jeg uddybe!
Avatar billede mukke Nybegynder
25. juni 2001 - 17:47 #3
jeg er ikke helt sikker på hvad det er du skal have hjælp til.

På den ene sider lyder det som om du faktisk vil have en eller anden til at lave hele systemet for dig, på den anden kunne man tro det er sammenkoblingen af de to tabeller du bare lige skal have hjælp med.


hvis du laver tre tabeller:
brugere: ID, navn, adresse, postnr, by, telefon, email

funktioner: id, funktion, gruppe

associationer: brugerid, funktionid


kan du med følgende sql sætning få adgang til et view over det du gerne vil have - tænk på det som en virtuel tabel:

SELECT bruger.*, funktioner.funktion, funktioner.gruppe
FROM (bruger inner join associationer on bruger.id = associationer.brugerid) inner join funktioner on associationer.funktionid = funktioner.id;

(det giver en virtuel tabel med felterne: ID, navn, adresse, postnr, by, telefon, email, funktion, gruppe.

Hvis du vil have alle funktioner tilhørende en bestemt person:

SELECT *
FROM funktion INNER JOIN association ON funktion.id = associationer.funktionid
WHERE associationer.brugerid = (brugerens ID);

Håber det hjælper.



Avatar billede sorenmt84 Juniormester
25. juni 2001 - 17:52 #4
Jeg vil gerne have en til at lave et komplet system
Avatar billede mukke Nybegynder
25. juni 2001 - 18:01 #5
hehe ok.. så skal jeg nok blande mig uden om.
Avatar billede sorenmt84 Juniormester
08. juli 2001 - 16:36 #6
Det ser ikke ud til at der sker ret meget mere og efter som spørgsmålet snart er gammelt, vil jeg tillade mig at lukke det. Jeg har selv fundet løsningen på hvordan man laver udtrækket til siden, og admin modulet kan jeg også godt lave selv!

<%
Set Connect = Server.CreateObject(\"ADODB.Connection\")
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")
Connect.Open strDSN
Set RS_Outer = Server.CreateObject(\"ADODB.Recordset\")
RS_Outer.CursorType = adOpenStatic
RS_Outer.Open \"SELECT * FROM test_brugere \", Connect
Set gruppe = Connect.Execute(\"Select * From test_funktioner \")
%>
<td valign=\"top\">
<p>
<TABLE BORDER=\"0\" CELLSPACING=\"0\" class=\"tabel4\" colspan=\"3\" width=\"600\">
<TR>
    <TD class=\"tabel1\" width=\"600\" colspan=\"3\"><span class=\"overskrift\">Hejsa</span></TD>
</tr>
<TR>
    <TD width=\"400\"><span class=\"normal\"><b>Navn</b></span></TD>
<TD width=\"200\"><span class=\"normal\"><b>Email</b></span></TD>
</tr>
<%
While not RS_Outer.EOF
%>
<tr><TD class=\"tabel1\" width=\"1\" colspan=\"3\"></TD></tr>
<TR>
    <TD width=\"400\"><span class=\"normal\"><IMG SRC=\"images/pil.gif\" BORDER=\"0\" WIDTH=\"5\" HEIGHT=\"10\" ALIGN=\"bottom\" ALT=\"\">&nbsp;<%=RS_Outer(\"navn\")%></a></TD>
<TD width=\"200\"><span class=\"normal\"><a class=\"normal\" href=\"mailto:<%=RS_Outer(\"email\")%>\"><%=RS_Outer(\"email\")%></a></span></TD>
<%
Set RS_Inner = Connect.Execute(\"Select * FROM test_funktioner WHERE (refID = \" & RS_Outer(\"id\") &\") ORDER BY funktion\")
DO UNTIL RS_Inner.EOF
%>
<TR>
    <TD width=\"400\"><span class=\"normal\"><UL TYPE=\"square\"><LI><%=RS_Inner(\"funktion\")%></span></TD>
<TD width=\"200\"><span class=\"normal\"><%=RS_Inner(\"gruppe\")%></span></TD>
</UL>
</tr>
<%RS_Inner.MoveNext
LOOP
RS_Outer.MoveNext
Wend
%>
<tr><TD class=\"tabel1\" width=\"1\" colspan=\"3\"></TD></tr>
</TABLE><p></td>
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