godizMedlem sedan maj 200019 inlägg Hur använder man följande kod request.querystring("id") för att ta fram info om den personen som har det id
som man länkar till ex) jag klickar på ett namn vi säger martin och då vill jag komma till martins sida där det står
info om han!
och sedan hur skapar man en sida där man kan redigera sin info?
fredrikMedlem sedan dec. 19991 072 inlägg jag utgår här ifrån att du har en databas, med kolumnerna id, namn, info och email.
Då skriver du:
id=request.querystring("id")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "min_databas_koppling"
sql="SELECT namn, info, email FROM databas WHERE id="&id&""
set visa_info=conn.execute(sql)
if not visa_info.eof then
namn=visa_info("namn")
info=visa_info("info")
email=visa_info("email")
else
response.write("hittade ingen med detta id")
response.end
end if
Namn: <%=namn%><br>
Info: <%=info%><br>
Email: <%=email%>
Så där ja, det var visningen!
För att administrera dessa uppgifter så kan du göra en change.asp sida där man först väljer vem (vilket id) man ska editera, sen på change2.asp så hämtas info (ungefär som ovan) och så fylls den på i input eller textarea boxar. På nästa sida, change3.asp så hämtas den nya infon och uppdaterar databasen.
Skriv och fråga igen när du kommer till administrationen så kan vi nog hjälpa dig!
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
www.streetwise.se/fredrik/
fredrikMedlem sedan dec. 19991 072 inlägg ...ovanstående kod förutsätter att du först har hämtat alla id och namn på en sida innan. Ex.
sql="SELECT id, namn FROM databas ORDER BY namn ASC"
set lista_namn=conn.execute(sql)
do until lista_namn.eof
id=lista_namn("id")
namn=lista_namn("namn")
%>
<a href="visa_info.asp?id=<%=id%>"><%=namn%></a><br>
<%
lista_namn.movenext
loop
Här hämtar du nu all info och länkar sedan till nästa sida (första kodexemplet ovan) där du skickar med id.
Lycka till!
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
www.streetwise.se/fredrik/
[Redigerat av fredrik den 30 jun 2000]
godizMedlem sedan maj 200019 inlägg Tack så jätte mycket fredrik men jag är inte så bra på asp en håller på att lära mig så om det inte är till för mycket besvär så undrara jag om du har lust att skriva ner koden för ur man gör när man ändrar sin info jätte tacksam om du hjälper mig.
fredrikMedlem sedan dec. 19991 072 inlägg ok, när du ska ändra info. Vi börjar med en sida där du kan välja vilken person du ska ändra info på, vi loopar upp uppgifterna i radio-buttons:
change.asp
<html>
<body>
<form method="post" action="change2.asp">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "min_databas_koppling"
sql="SELECT id, namn FROM databas ORDER BY namn&""
set lista=conn.execute(sql)
do until lista.eof
id=lista("id")
namn=lista("namn")
%>
<input type="radio" name="id" value="<%=id%>"><%=namn%><br>
<%
lista.movenext
loop
%>
<input type="submit" value="Nästa">
</form>
</body>
</html>
Ok, det var första sidan, nu till sida 2:
change2.asp
<%
id=request("id")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "min_databas_koppling"
sql="SELECT namn, info, email FROM databas WHERE id="&id&""
set visa=conn.execute(sql)
if not visa.eof then
namn=visa("namn")
info=visa("info")
email=visa("email")
else
response.write("Fel, hittade ingen med detta id")
repsonse.end
end if
%>
<html>
<body>
<form method="post" action="change3.asp">
<input type="text" name="namn" value="<%=namn%>"><br>
<textarea><%=info%></textarea><br>
<input type="text" name="email" value="<%=email%>"><br>
<input type="submit" value="Nästa">
</form>
</body>
</html>
...och så till slut till 3:e sidan...
change3.asp
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "min_databas_koppling"
id=request("id")
namn=request("namn")
info=request("info")
email=request("email")
sql="UPDATE databas SET namn='"&namn&"', info='"&info&"', email='"&email&"' WHERE id="&id&""
conn.execute(sql)
response.write("Du har nu ändrat " &namn &" information")
%>
Sådär nånting ska fungera, har kodat ganska snabbt nu, så jag kan ha snubblat på nån tangent nånstans...
Men, håll till godo!
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
www.streetwise.se/fredrik/
[Redigerat av fredrik den 03 jul 2000]
godizMedlem sedan maj 200019 inlägg Fredrik jag får detta felmedelande på change3.asp filen:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][ODBC Microsoft Access 97 Driver] Syntaxfel (operator saknas) i frågeuttrycket 'id='.
/andra/change3.asp, rad 9
men de andra filerna funkar hoppas du kan hitta felet har letat med inte hittat nått.
MVH Godiz
fredrikMedlem sedan dec. 19991 072 inlägg hoppsan, jag glömde skicka med id-värdet i change2. Lägg till följande i koden, förslagsvis ovanför submit knappen:
<input type="hidden" name="id" value="<%=id%>">
Sådär så ska det nog funka. Se till så att du har satt datavärdet "tal" på kolumnen id också.
...sen ser jag nu med att jag glömde ge textarean nåt namn i change2. ge textarea namnet "info", typ:
<textarea name="info"> i change2.
Nu borde det funka!
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
www.streetwise.se/fredrik/
[Redigerat av fredrik den 04 jul 2000]