crisse6Medlem sedan dec. 20002 526 inlägg Tjena!
Jag tänkte ha så att när man vill ändra sin info så kan man göra mer inställningar än vad man skrev
in när man blev medlem. Ex. Intressen, kropp, klädstil mm, detta vill jag göra med "dropdowns"
men fattar inte hur man ska gå till väga för att få den att först från att te x "intressen"-fältet
är tomt till att man efter har valt något typ "webdesign" så ska detta föras in i en databas, och
sedan när man kanske en annan gång vill ändra sin info så står det vad man valde en gång i tiden, då
som jag skrev "webdesign" osv.... förstår ni grabbs???
klart ni gör, för bättre än så här blir inte förklaringen av en halvpackad crisse6 :e he he...
gött, hej!
------------------
www.groda.net *kvack*, *kvack*
crisse6Medlem sedan dec. 20002 526 inlägg kom igen!
jag vet ju att flera av er använder denna funktion! hjälp!
------------------
www.groda.net *kvack*, *kvack*
JonasGMedlem sedan mars 2001148 inlägg med dropdowns menar du typ
<select name=figur size=1>
<option value="0"> - Inget -
<option value="01">webdesign
<option value="02">fotboll
</select>
eller?
Mm.
man kan ju köra massa if-satser
if intressen = "webdesign then
response.Write("<option value=""01"" checked>webdesign")
else
response.Write("<option value=""01"">webdesign")
end if
men det är ju lite omständigt. nån som vet nåt bättre?
kanske jag misstolkat din fråga helt?
------------------
www.ppppistvakt.com
crisse6Medlem sedan dec. 20002 526 inlägg jodå.... så jag menar, men håller med dig, blir kanske jobbigt med massa if-satser + att jag inte ska ha bara en "dropdown" hur löser man det? det borde väl gå att man har ett värde när man väljer i "dropdownen" te x "webdesign" så förs webdesign in i db:en och sen när man en annan gång ska ändra så står det att man valt "webdesign" någon annan gång, kan man inte typ fixa det så här:
<option value="<%=rsAndra("webdesign"%>>webdesign</option>
jag vet inte....??????
hjälp!
------------------
www.groda.net *kvack*, *kvack*
cyprysMedlem sedan dec. 20003 563 inlägg Jag antar att du har alternativen i en tabell. Om inte så rekomenderas det då man kan ändra och lägga till enkelt.
<select name=alternativ>
<%
intresse = "Hans_intresse__hans_val"
Set alt = conn.execute("SELECT * FROM alternativ")
do until alt.EOF
response.write "<option value="""&alt("alternativ")""" "
if alt("alternativ") = intresse then
response.write "SELECTED"
end if
response.write ">" & chr(10)
alt.Movenext
loop
%>
</select>
Det här borde kanske göra susen? :)
------------------
MVH // Cyprys
Cyprys bakgård
Om du någonsin ser mig bli misshandlad av polisen, var snäll och lägg ner videokameran och kom och hjälp mig i stället.
crisse6Medlem sedan dec. 20002 526 inlägg jag vet inte om jag fattat rätt.... men det funkar iaf inte! Vill bara säga att jag vill att man ska kunna välja något annat alternativ i "dropdownen" även om man engång i tiden redan gjort ett val... :)
så här ser min kod ut nu, har gjort en tabell i db:en som heter alternativ
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsAndra = Server.CreateObject("ADODB.Recordset")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL = "select * from users where id =" & session("id")
rsAndra.Open SQL, Databas, 1, 2
If rsAndra.EOF then
%>
Hittade inte någon medlem som du försökte ändra!
<%
%>
<% End If %>
<font face="Verdana" size="1">
<form name="andra" method="post" action="andrat.asp">
<p><font face="Verdana" size="1" color="black">Användarnamn:<br>
<input type="text" name="Username" value="<%=rsAndra("username")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Lösenord:<br>
<input type="password" name="Password" value="<%=rsAndra("password")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Emejl:<br>
<input type="text" name="E-post" value="<%=rsAndra("E-post")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Namn:<br>
<input type="text" name="Namn" value="<%=rsAndra("namn")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Efternamn:<br>
<input type="text" name="Efternamn" value="<%=rsAndra("efternamn")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Mobilnummer:<br>
<input type="text" name="Mobil" value="<%=rsAndra("mobil")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Du bor i:<br>
<input type="text" name="bor" value="<%=rsAndra("bor")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<p><font face="Verdana" size="1" color="black">Detta är adressen till den bild som är på dig själv: (om fältet är tomt har du ingen bild på dig)<br>
<input type="text" name="bilder" value="<%=rsAndra("bilder")%>" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"></font></p>
<font face="Verdana" size="1" color="black">Fakta om dig själv:<br>
<textarea name="Fakta" rows="6"
cols="30" style="font-family:Verdana; font-size:10; background-color:rgb(222,222,222); border-width:1; border-color:black; border-style:solid;"><%=rsAndra("Fakta")%></textarea></font>
<p>
<select name=alternativ>
<%
intresse = "Hans_intresse__hans_val"
Set alt = conn.execute("SELECT * FROM alternativ")
do until alt.EOF
response.write "<option value="""&alt("alternativ")""" "
if alt("alternativ") = intresse then
response.write "SELECTED"
end if
response.write ">" & chr(10)
alt.Movenext
loop
%>
</select>
kom igen! vi är ju på väg :e
------------------
www.groda.net *kvack*, *kvack*
LarsGMedlem sedan dec. 200012 464 inlägg Ok, några detaljer först
<select name=alternativ>
<%
[b]
intresse = "Hans_intresse__hans_val"
[/b]
' här borde du ta något från
' medlemstabellen
'
Set alt = conn.execute("SELECT * FROM alternativ")
do until alt.EOF
response.write "<option value="""&alt("alternativ")""" "
if alt("alternativ") = intresse then
response.write "SELECTED"
end if
response.write ">" & chr(10)
alt.Movenext
loop
%>
</select>
Ditt connectionobjekt heter databas här så använder du conn.
När du säger att det inte fungerara så är det inte speciellt upplysande. Lite mer detaljer tack.
------------------
essentitia preter non sans multiplicandum
crisse6Medlem sedan dec. 20002 526 inlägg okej, först får detta felmeddelande:
Kompileringsfel i Microsoft VBScript error '800a0401'
Slut på programsats förväntas.
/groda/hamta.asp, line 109
response.write "<option value="""&alt("alternativ")""" "
sedan funkar detta? blir det en "dropdown" som man kan välja olika alternativ i eller? jag vill ju att man ska kunna välja något annat alternativ nån annan gång.... (om man vill då) www.peachy.nu har det!
------------------
www.groda.net *kvack*, *kvack*
emissionMedlem sedan dec. 19996 721 inlägg 3 tabeller
Medlemmar:
MedlemsID
MedlemsNamn
Intressen:
IntresseID
IntresseNamn
MedlemsIntressen
MedlemsID
IntresseID
En sida som listar alla intressen och kryssar för dem som medlemmen tidigare kryssat för:
Dim objRS
set objRS=objConn.Execute("SELECT I.IntresseID,I.IntresseNamn,M.MedlemsID FROM Intressen AS I,Medlemmar as M ON WHERE I.IntresseID*=M.IntresseID AND M.MedlemsID=" & Session("MedlemsID"))
response.write "<FORM ACTION=""update.asp"">"
do until objRS.EOF
response.write "<INPUT TYPE=""checkbox"" NAME=""intresse"" value=""" & objRS(0) & """"
if not isnull(objRS(2)) then response.write " CHECKED"
response.write ">" & objRS(1) & "<BR>"
objRS.Movenext
loop
response.write "</FORM>"
Kod som uppdaterar databasen med de nya kryssen
objConn.Execute "DELETE FROM MedlemsIntressen WHERE MedlemsID=" & Session("MedlemsID")
for each intresse in Request("intresse")
objConn.Execute "INSERT INTO MedlemsIntressen (MedlemsID,IntresseID) VALUES (" & Session("MedlemsID") & "," & intresse & ")"
next
Alla tabellnamn, databaskopplingar etc. får du stoppa in själv
[Redigerat av emission den 22 apr 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Jo, om du vill att man skall kunna ange flera intressen så är det emissions uppkast man får gå efter.
Felet som du får kanske försvinner om du skriver så här i stället
do until alt.EOF
response.write "<option value='" &_
alt("alternativ") & "'"
if alt("alternativ") = intresse then
response.write " SELECTED"
end if
response.write ">" & chr(10)
------------------
essentitia preter non sans multiplicandum
@ndersMedlem sedan juni 200032 969 inlägg uppkast :q
förlåt...
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>
LarsGMedlem sedan dec. 200012 464 inlägg Vadå, heter det inte uppkast?
------------------
essentitia preter non sans multiplicandum
@ndersMedlem sedan juni 200032 969 inlägg jag hade nog kört med utkast, men att kasta upp går ju också bra vid vissa tillfällen. :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>
crisse6Medlem sedan dec. 20002 526 inlägg nu har jag gjort som emission sa, (tror jag) har databasen users.mdb med dessa tre tabeller:
Intressen
id
webdesign
sex
bilar
MedlemsIntressen
medlemsid
intresseid
medlemmar
id
username
password
namn
efternamn
bor
osv...
sedan denna kod:
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set valj = Server.CreateObject("ADODB.Recordset")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
Dim objRS
set objRS=valj.Execute("SELECT I.IntresseID,I.IntresseNamn,M.MedlemsID FROM Intressen AS I LEFT JOIN Medlemmar as M ON I.IntresseID=M.IntresseID WHERE M.MedlemsID=" & Session("MedlemsID"))
response.write "<FORM ACTION=""valj.asp"">"
do until objRS.EOF
response.write "<INPUT TYPE=""checkbox"" NAME=""intresse"" value=""" & objRS(0) & """"
if not isnull(objRS(2)) then response.write " CHECKED"
response.write ">" & objRS(1) & "<BR>"
objRS.Movenext
loop
response.write "</FORM>"
%>
<%
objValj.Execute "DELETE FROM MedlemsIntressen WHERE MedlemsID=" & Session("MedlemsID")
for each intresse in Request("intresse")
objConn.Execute "INSERT INTO MedlemsIntressen (MedlemsID,IntresseID) VALUES (" & Session("MedlemsID") & "," & intresse & ")"
next
%>
jag vet inte.... är jag dum nu kanske?
------------------
www.groda.net *kvack*, *kvack*
LarsGMedlem sedan dec. 200012 464 inlägg selectsatsen ser inte ok ut, det saknas en koppling till medlemsintressetabellen
sql = _
"SELECT I.IntresseID,
I.IntresseNamn,
M.MedlemsID
FROM intressen as I left join medlemsIntressen as Mi on i.intresseid = mi.intressid
left join medlemmar as M on mi.medlemsid = m.id
where m.id = " & Session("MedlemsID")
Annars ser det väl ok ut vid en snabb koll.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 22 apr 2001]
crisse6Medlem sedan dec. 20002 526 inlägg nä, jag fattar inte.... please need help! kolla nu, vad är fel, får felmesset: Objekt krävs..
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set valj = Server.CreateObject("ADODB.Recordset")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
Dim objRS
sql = _"SELECT I.IntresseID,I.IntresseNamn,M.MedlemsID FROM intressen as I left join medlemsIntressen as Mi on i.intresseid = mi.intressid left join medlemmar as M on mi.medlemsid = m.id where m.id = " & Session("MedlemsID")
response.write "<FORM ACTION=""valj.asp"">"
do until objRS.EOF
response.write "<INPUT TYPE=""checkbox"" NAME=""intresse"" value=""" & objRS(0) & """"
if not isnull(objRS(2)) then response.write " CHECKED"
response.write ">" & objRS(1) & "<BR>"
objRS.Movenext
loop
response.write "</FORM>"
%>
<%
objValj.Execute "DELETE FROM MedlemsIntressen WHERE MedlemsID=" & Session("MedlemsID")
for each intresse in Request("intresse")
objConn.Execute "INSERT INTO MedlemsIntressen (MedlemsID,IntresseID) VALUES (" & Session("MedlemsID") & "," & intresse & ")"
next
%>
------------------
www.groda.net *kvack*, *kvack*
LarsGMedlem sedan dec. 200012 464 inlägg Lite hopblandning av variabelnamn. Sen så behöver du ju dela upp det på två sidor.
Visa.asp
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
Dim objRS,sql
sql = "SELECT I.IntresseID,I.IntresseNamn,M.MedlemsID FROM intressen as I left join medlemsIntressen as Mi on i.intresseid = mi.intressid left join medlemmar as M on mi.medlemsid = m.id where m.id = " & Session("MedlemsID")
set objRs = databas.execute(sql)
response.write "<FORM ACTION=""valj.asp"">"
%>
do until objRS.EOF
response.write "<INPUT TYPE=""checkbox"" NAME=""intresse"" value=""" & objRS(0) & """"
if not isnull(objRS(2)) then response.write " CHECKED"
response.write ">" & objRS(1) & "<BR>"
objRS.Movenext
loop
response.write "</FORM>"
objRs.close
set objRs = nothing
databas.close
set databas = nothing
%>
valj.asp
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
databas.Execute "DELETE FROM MedlemsIntressen WHERE MedlemsID=" & Session("MedlemsID")
for each intresse in Request("intresse")
databas.Execute "INSERT INTO MedlemsIntressen (MedlemsID,IntresseID) VALUES (" & Session("MedlemsID") & "," & intresse & ")"
next
databas.close
set databas = nothing
%>
r: glömde tag
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 22 apr 2001]
crisse6Medlem sedan dec. 20002 526 inlägg får tyvärr detta felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'i.intresseid = mi.intressid left join medlemmar as M on mi.medlemsid = m.id'.
/groda/visa.asp, line 8
vad är fel nu då? måste jag ha includes eller ngt?
------------------
www.groda.net *kvack*, *kvack*
@ndersMedlem sedan juni 200032 969 inlägg det första man gör när en sql-fråga är felaktig är givetvis att skriva ut den till webbläsaren med response.write så man ser om den färdiga frågan är korrekt.
får man gissa på att session("medlemsid") är tom?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>
crisse6Medlem sedan dec. 20002 526 inlägg så här ser det ut nu för tillfället på visa.asp: (felmeddelande)
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'i.intresseid = mi.intresseid left join medlemmar as M on mi.medlemsid = m.id'.
/groda/visa.asp, line 14
och koden (rad 14=markerad)
<!-- #include file="adovbs.inc" -->
<!-- #include file="checkb.inc" -->
<html>
<body>
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
Dim objRS,sql
[b]sql = "SELECT I.IntresseID,I.IntresseNamn,M.MedlemsID FROM intressen as I left join medlemsIntressen as Mi on i.intresseid = mi.intresseid left join medlemmar as M on mi.medlemsid = m.id where m.id = " & Session("ID")[/b]
set objRs = databas.execute(sql)
response.write "<FORM ACTION=""valj.asp"">"
%>
do until objRS.EOF
response.write "<INPUT TYPE=""checkbox"" NAME=""intresse"" value=""" & objRS(0) & """"
if not isnull(objRS(2)) then response.write " CHECKED"
response.write ">" & objRS(1) & "<BR>"
objRS.Movenext
loop
response.write "</FORM>"
objRs.close
set objRs = nothing
databas.close
set databas = nothing
%>
</body>
<!-- #include file="checkb2.inc" -->
</html>
sedan valj.asp får jag inget felmess på = gött!
jag vet ej om jag har rätt tabeller men jag har 3 st i users.mdb;
Intressen
IntresseID
IntresseNamn
MedlemsID
MedlemsIntressen
medlemsID
intresseID
Users
id
username
password
namn
osv....
ngt fel av mig?
------------------
www.groda.net *kvack*, *kvack*