Avatar billede superole Nybegynder
21. november 2000 - 15:12 Der er 26 kommentarer og
2 løsninger

Slet en post i db online

Jeg mangler et script, hvor jeg kan slette en post i en database online. Det skal være sådan, at man på en fil, får en komplet liste over hvad der er i datbase, som skal trække ud, og vises med f.eks. navn, man skal så kunne klikke på navnet, hvor den så skal komme til en side, hvor man skal bekræfte om man vil slette posten eller ej, ved at trykke ja, eller nej
Avatar billede sp Nybegynder
21. november 2000 - 15:29 #1
Her trækker du id\'erne ud
<%
SQL=\"SELECT * FROM Tabel1 WHERE felt1= \'\" & felt1 & \"\'\"
Set RS= Conn.execute(SQL)
Do While Not RS.EOF




Response.write \" <a href=\'deletemessage.asp?&id=\" & rs(\"id\") & \"\'>Slet indlæg</a>\"
   
Loop

%>

deletemasseage.asp:

<%
id=Request.QueryString(\"id\")
confirm=Request.QueryString(\"confirm\")


<%

Response.write \"<p>&nbsp;</p><h3> Er du sikker?</h3><p>&nbsp;</p><p><small><a href=\'deletemessage.asp?username=\" & username & \"&id=\" & id & \"&amp;confirm=yes\'>Bekræft sletning</a></small></p>\"
    Response.write \"<p> <small><a href=\'deletemessage.asp?username=\" & username & \"&amp;confirm=no\'>Fortryd</a></small></p>\"
%>

</center>
<%       
on error resume next


dbp = \"../example.mdb\"
dbf=Server.MapPath (dbp)



if confirm=\"yes\" then


Sql =  \"DELETE DistinctRow From Tabel1 Where id = \'\" & id & \"\'\"

my_Conn.Execute Sql

End if
%>
Avatar billede sp Nybegynder
21. november 2000 - 15:32 #2
Hov det gik lige lidt hurtigt:

Response.write \"<h3> Er du sikker?</h3><a href=\'deletemessage.asp?&id=\" & id & \"&amp;confirm=yes\'>Bekræft sletning</a>\"
    Response.write \"<p> <small><a href=\'deletemessage.asp?&id=\" & id & \"&amp;confirm=no\'>Fortryd</a>
if confirm=\"yes\" then


Sql =  \"DELETE DistinctRow From Tabel1 Where id = \'\" & id & \"\'\"

my_Conn.Execute Sql

else
Response.redirect(\"URL\")
End if

Avatar billede superole Nybegynder
21. november 2000 - 17:23 #3
Jeg kan ikke få det til at virke, gider du ikke prøve samme sætte filen helt som den skal være, lige til at klippe ind.

Databasen hedder hittegods og tabellen efterlys.
Felterne hedder (som du har) id og det felt, hvor den skal hente listen som man vælger fra hedder Titel

Avatar billede sp Nybegynder
21. november 2000 - 19:10 #4
Jeg har ikke en fil til det.
Dette skal indsættes i
deletemasseage.asp:

<%
id=Request.QueryString(\"id\")
confirm=Request.QueryString(\"confirm\")


<%

Response.write \"<p>&nbsp;</p><h3> Er du sikker?</h3><p>&nbsp;</p><p><small><a href=\'deletemessage.asp?username=\" & username & \"&id=\" & id & \"&amp;confirm=yes\'>Bekræft sletning</a></small></p>\"
    Response.write \"<p> <small><a href=\'deletemessage.asp?username=\" & username & \"&amp;confirm=no\'>Fortryd</a></small></p>\"
%>

</center>
<%       
on error resume next


dbp = \"../example.mdb\"
dbf=Server.MapPath (dbp)



if confirm=\"yes\" then


Sql =  \"DELETE DistinctRow From Tabel1 Where id = \'\" & id & \"\'\"

my_Conn.Execute Sql

End if
%>
Avatar billede sp Nybegynder
21. november 2000 - 19:11 #5
Dette i en anden fil...

<%
SQL=\"SELECT * FROM Tabel1 WHERE felt1= \'\" & felt1 & \"\'\"
Set RS= Conn.execute(SQL)
Do While Not RS.EOF




Response.write \" <a href=\'deletemessage.asp?&id=\" & rs(\"id\") & \"\'>Slet indlæg</a>\"
   
Loop

%>
Avatar billede superole Nybegynder
21. november 2000 - 19:58 #6
Hvad skal den ande fil hede ??
Avatar billede sp Nybegynder
21. november 2000 - 20:06 #7
Den anden fils navn er ligegyldigt.
Filen skal bare hoppe over på deletemessage.asp i de link den spytter ud...
Du kan kalde den deletemessage.asp hvis det er meddelelser der er i databasen.
Du skal bare ændre deletemessage.asp til
side1.asp hvis du vil i denne linje:
Response.write \" <a href=\'deletemessage.asp?&id=\" & rs(\"id\") & \"\'>Slet indlæg</a>\"

Indenfor
\"Do While Not RS.EOF\"

Her linker den alle felternes id så man forespørger den anden fil.

\"Loop\"


<% Her laver den forespørgslerne om fra URL\'en til variabler
id=Request.QueryString(\"id\")
confirm=Request.QueryString(\"confirm\")

/////////////

Her skriver den ingangsteksten:
<%

Response.write \"<p>&nbsp;</p><h3> Er du sikker?</h3><p>&nbsp;</p><p><small><a href=\'deletemessage.asp?username=\" & username & \"&id=\" & id & \"&amp;confirm=yes\'>Bekræft sletning</a></small></p>\"
    Response.write \"<p> <small><a href=\'deletemessage.asp?username=\" & username & \"&amp;confirm=no\'>Fortryd</a></small></p>\"
%>

</center>
<%       
on error resume next \'Hvis der kommer en fejl, så bare fortsæt


dbp = \"../example.mdb\" \'forbindelsen
dbf=Server.MapPath (dbp)



if confirm=\"yes\" then \'hvis confirm=yes gør fl.g.


Sql =  \"DELETE DistinctRow From Tabel1 Where id = \'\" & id & \"\'\"

my_Conn.Execute Sql

End if
%>
Mere simpelt kan det ikke være...

Avatar billede sp Nybegynder
21. november 2000 - 20:08 #8
<a href=\'deletemessage.asp?username=\" & username & \"&amp;confirm=no\'>Fortryd</a></small></p>\"
Denne kan bruges til at få den til at lave noget andet hvis confirm=no....
Avatar billede superole Nybegynder
21. november 2000 - 20:38 #9
Ok måske er jeg evne svag, men jeg kan ikke få skidtet til at virke.
Avatar billede sp Nybegynder
22. november 2000 - 00:10 #10
Hvad er der galt?? Har du ICQ?
Avatar billede sp Nybegynder
23. november 2000 - 00:00 #11
Jeg prøver lige en gang til...

Dette link har et id i enden.(id=...)

Response.write \" <a href=\'deletemessage.asp?&id=\" & rs(\"id\") & \"\'>Slet indlæg</a>\"

Når man sætter det ind i et loop, så får alle posterne et link med deres id.
Hvis man som her har en side der hedder \"deletemessage.asp\" med det script der sletter posten, kan man v.h.a. id\'et finde den post der skal slettes.

Indenfor
\"Do While Not RS.EOF\"

Her linker den alle felternes id så man forespørger den anden fil.

\"Loop\"

Her slutter så første side!

/////////////////////////////////////////////


<% 
I den anden side, som her hedder deletemessage.asp,(kan hedde noget andet hvis man ændre den forreste del af linket på forrige side)
Har vi først 2 forespørgsler.

QueryString bruges her til at få den værdi man har fra URL\'en ned som variabel.

id=Request.QueryString(\"id\") \'Her laves id-værdien om til variabel.

confirm=Request.QueryString(\"confirm\")\'
Her laves så en ny variabel som bruges på denne side.
Her er så den tekst man ser når man trykker på linket
<%
Her er linket med ID\'et en gang mere + confirm=yes.


Response.write \"<p>&nbsp;</p><h3> Er du sikker?</h3><p>&nbsp;</p><p><small><a href=\'deletemessage.asp?id=\" & id & \"&amp;confirm=yes\'>Bekræft sletning</a></small></p>\"
 
Her er linket + confirm=no

Response.write \"<p> <small><a href=\'deletemessage.asp?\"& id & &amp;confirm=no\'>Fortryd</a></small></p>\"
%>

Nu har vi både et id med en værdi og confirm som enten er yes eller no.


</center>
<%       
on error resume next \'Hvis der kommer en fejl, så bare fortsæt

if confirm=\"yes\" then \'hvis confirm=yes gør fl.g.

Sql =  \"DELETE * From efterlys Where id = \'\" & id & \"\'\"

my_Conn.Execute Sql

elseif confirm=\"no\" then
response.redirect(\"url\") \'Her hopper den til en URL hvis man fortryder slening...Evt. tilbage til forrige side...

End if
%>

Håber nu du forstår hvordan det virker og kan få det til at virke...
venligst Søren
Avatar billede superole Nybegynder
23. november 2000 - 17:01 #12
Ny har jeg fået filen med oversigten til at virke. men deletemessage.asp kan jeg ikke få til at virke. Hvis jeg sætter point antallet om med 50 gider du så ikke lave filen, og sende den til:
stsejs@worldonline.dk
Avatar billede superole Nybegynder
23. november 2000 - 18:39 #13
Har prøvet den du sendte til mig, men det virker ikke
Avatar billede sp Nybegynder
23. november 2000 - 18:59 #14
Du må sige hvilken fejlmeddelelse det giver... Ellers kan jeg ikke hjælpe!

Avatar billede sp Nybegynder
23. november 2000 - 19:00 #15
Den burde virke...
Hvad er fejlmeddelelsen?
Avatar billede superole Nybegynder
23. november 2000 - 19:45 #16
Den skriver bare at siden ikke kan vises
Avatar billede superole Nybegynder
23. november 2000 - 19:47 #17
Kan du ellers ikke bare lave det sådan, at fra listen, hvor man vælger, skal den ikke åbne en side med hvor man er sikker, men når man klikker, så sletter den...

Hvis du kan lave det i stedet så vil det være super. Her er oplysningerne til databasen:

Det felt som du kalder id hedder Userid
Databasen hedder adgangskontrol.mdb
Tabellen hedder adgangskoder
Avatar billede sp Nybegynder
23. november 2000 - 19:55 #18
Så er det en fejl du laver i linket...
linket skal være.
response.write\"<a href=\"\"delemessage.asp?=\" & id &\"\"\">slet</a>\"

Du skal lige kigge om dit link er rigtigt. Du skal også have begge filer i samme mappe.
Det er ligegyldigt om der er en bekræftelse på eller ej, hvis du ikke kan få det til at virke.
Der er ikke særligt stor forskel på hvad der sker.

Søren
Avatar billede sp Nybegynder
23. november 2000 - 19:58 #19
Der skal selvfølgelig være \'id\' efter spørgsmåltegnet.

response.write\"<a href=\"\"delemessage.asp?id=\" & id &\"\"\">slet</a>\"
Avatar billede sp Nybegynder
23. november 2000 - 20:01 #20
Hvis den forreste del af linket er iorden, så skulle du i det mindste komme *ind* på siden.
Avatar billede superole Nybegynder
24. november 2000 - 23:37 #21
Det virker stadigvæk ikke. Jeg kommer \"ind\" på siden, men den skriver at siden ikke kan vises
Avatar billede sp Nybegynder
26. november 2000 - 00:08 #22
Der må komme en eller anden fejlmelding fra den...
normalt skriver den ikke bare at siden ikke kan vises...
Jeg mangler nogle oplysninger for at finde ud af hvad der er forkert.... Hvilken udbyder har du da?
Hvordan kan du vide at den kommer ind på siden, når den skriver at siden ikke kan vises?

Søren
Avatar billede superole Nybegynder
26. november 2000 - 10:33 #23
Jeg kan ikke give dig en mere detaljeret fejlmedlning, da jeg ikke kan finde ud af at slå \'venlige fejl\' fra i IE.
Jeg er hosted hos azero.dk

Jeg formoder, at jeg kommer ind på siden, da den skifter oppe i adresselinien
Avatar billede sp Nybegynder
26. november 2000 - 18:33 #24
Nej jeg er helt sikker på at det er en \"Error 404\" -fejl du får.
Den kan ikke finde siden.

Du kan prøve evt. at gøre det nemmere at se om linket er sat rigtigt sammen ved at ændre dette i den forrige fil:

Do While Not RS.EOF \'efter dette skriver du:
id= rs(\"id\") \'efter dette sætter du dette tegn:
%>

Så laver du et link imellem while-sætningen og loop som ser sådan ud(hvis filen hedder deletemessage.asp):

<a href=\"delemessage.asp?id=<% =id %>\">slet</a>

Og sætter dette tegn inden loop:

<%
Loop

Det hele kommer til at se således ud:
\'/////////////////////KLIP

Do While Not RS.EOF
id =RS(\"id\")
%>
<a href=\"deletemessage.asp?id=<% =id %>\">slet</a>

<%
loop

\'//////////////////////////// KLIP

Det er også vigtigt at der står deletemessage.asp og ikke deletemesage.asp eller lign...

vh Søren Peter
Avatar billede sp Nybegynder
29. november 2000 - 00:00 #25
Jeg ved godt hvorfor den ikke vil vise siden og du ikke kommer videre
Du skal indsætte koden i deletemessage
under<html><head>
koden her

jeg har haft tidligere problem da jeg undgik at have <html> og <head> inden scriptet.
Prøv at indsætte nedenstående og slette det gamle!

Altså:

<html>
<head>
<%       
on error resume next \'Hvis der kommer en fejl, så bare fortsæt


dbp = \"../example.mdb\" \'forbindelsen
dbf=Server.MapPath (dbp)



if confirm=\"yes\" then \'hvis confirm=yes gør fl.g.


Sql =  \"DELETE DistinctRow From Tabel1 Where id = \'\" & id & \"\';\"

my_Conn.Execute Sql

End if
%>


</head>
<body>
<center>
<%

Response.write \"<p>&nbsp;</p><h3> Er du sikker?</h3><p>&nbsp;</p><p><small><a href=\'deletemessage.asp?username=\" & username & \"&id=\" & id & \"&amp;confirm=yes\'>Bekræft sletning</a></small></p>\"
    Response.write \"<p> <small><a href=\'deletemessage.asp?username=\" & username & \"&amp;confirm=no\'>Fortryd</a></small></p>\"
%>

</center>
</body>
</html>
Avatar billede superole Nybegynder
15. december 2000 - 17:04 #26
Jeg har nu prøvet med dit nye forslag, det har også gjordt det bedre, jeg har selv lavet en ny side, som udskriver en liste, da den du har lavet ikke virker. Jeg kommer også fint nok ind på siden, hvor den skriver, om jeg er sikker eller om jeg vil fortryde, men der sker ikke noget når jeg trykker på dem, anden end at adressen i adressen linien ændre sig-
Avatar billede sp Nybegynder
15. december 2000 - 17:53 #27
Det lyder som underligt det skulle virke.
Men det afhænger af hvor du har placeret kode i forhold til <head> og <body>
Avatar billede superole Nybegynder
22. december 2000 - 20:45 #28
Jeg har prøvet alt, men jeg har fundet en anden løsning, dog uden i bekræftelse, men du får lidt for besværet
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