Ciao,
vorrei poter visualizzare vicino ad ogni record presente nel database anche un pulsante o collegamento che alla pressione mi elimina il record a cui fa riferimento.
come?
Ciao,
vorrei poter visualizzare vicino ad ogni record presente nel database anche un pulsante o collegamento che alla pressione mi elimina il record a cui fa riferimento.
come?
Accanto ad ogni record metti un link che punta alla pagina delete.asp alla quale in queryString passi l'ID del record da cancellare.
La pagina delete.asp recupera il dato dalla queryString e lo passa ad una sql che fa la "DELETE * FROM tabella WHERE campoID = " & variabileID
Semplice, no?
non mi viene in mente nessun modo per associare il link e il dato id da passare
:master: scusami neh, ma come fai a creare l'elenco degli articoli?Originariamente inviato da Colino
non mi viene in mente nessun modo per associare il link e il dato id da passare
Parti da un recordset? Hai un database?
quotissimoOriginariamente inviato da Mems
Accanto ad ogni record metti un link che punta alla pagina delete.asp alla quale in queryString passi l'ID del record da cancellare.
La pagina delete.asp recupera il dato dalla queryString e lo passa ad una sql che fa la "DELETE * FROM tabella WHERE campoID = " & variabileID
Semplice, no?![]()
scusate ma sono proprio un novizio in questo ramo,
vi posto il codice che uso x visualizzare i record
ora vorrei che per ogni record generato mi crei un collegamento o pulsante che alla pressione mi elimini il record associato.codice:do while not rs.EOF Response.Write ("ID News: ") Response.write rs("ID") Response.Write rs ("corpo_news") rs.MoveNext ' Movenext loop
per il discorso di passare il l'id alla pagina asp che compie l'operazione di cancellamento non ci sono problemi ,
non riesco a capire come associare al record un pulsante che inivii l'id di quel record...
Mi aspettavo tutta la pagina per sapere come chiami la connessione, come si chiama la tabella, etc.
In mancanza di questi dati, nel codice sotto, relativo alla pagina cancella.asp metterò dei commenti dove tu dovrai mettere il codice opportuno.
pagina cancella.aspcodice:do while not rs.EOF Response.Write ("ID News: ") Response.write rs("ID") Response.Write rs ("corpo_news") Response.Write ("Elimina") rs.MoveNext ' Movenext loop
codice:<% id = request.queryString("id") if len(id) > 0 and isNumeric(id) then ' qui metti la connessione al database con nome oggetto conn conn.execute("DELETE * FROM nomeTabella WHERE [ID] = " & id ' qui chiudi la connessione ' qui setti a nothing la connessione end if referer = request.serverVariables("HTTP_REFERER") if len(referer) = 0 then referer = "/" response.redirect referer %>
ehm...ho provato ma non riesco a farlo andare
ad ogni modo ti posto il codice asp
pagina news.asp
questo è invece il codice asp della pagina che esegue l'operazionecodice:<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Provider = "Microsoft.Jet.OLEDB.4.0" Conn.ConnectionString = "Data Source=" & Server.MapPath ("news.mdb") Conn.Open Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Open "SELECT * from tabNews ORDER BY ID DESC", Conn, 1,3 'Loop thru records do while not rs.EOF Response.Write ("ID News: ") Response.write rs("ID") &" " Response.write"<table width=""90%"" border=""0"" cellspacing=""5"" cellpadding=""0"">" Response.Write "<tr><td>" Response.Write rs("titolo_news") &"</td></tr>" Response.Write"<tr><td><div align=""right"">" Response.Write rs("data_news")&"</div></td></tr>" Response.Write"<tr><td>" Response.Write rs ("corpo_news")&"</td></tr></table>" rs.MoveNext ' Movenext loop 'Deinitialize the Connection and Recordset set Rs = nothing set Conn = nothing %>
cancellanews.asp
per eliminare il record inserivo manualmente in un form presente nella pagina contenente il primo codice che ti ho scrittocodice:<% name = server.HtmlEncode(request.form("id_cancella")) Set Conn = Server.CreateObject("ADODB.Connection") Conn.Provider = "Microsoft.Jet.OLEDB.4.0" Conn.ConnectionString = "Data Source=" & Server.MapPath ("news.mdb") Conn.Open Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Open "DELETE from tabNews where ID="& name, Conn, 1,3 response.Redirect("news.asp") set Rs = nothing set Conn = nothing %>
quale comando devo usare nella pagina cancellanews.asp per eliminare l'id passato dal link generato nella pagina news.asp?codice:<form id="form1" name="form1" method="post" action="cancellanews.asp"> Inserisci il numero ID della news da cancellare:</p> <label> <input name="id_cancella" type="text" id="id_cancella" /> </label> <label> <input type="submit" name="Submit" value="Cancella" /> </label> </p> </form>
Scusami se sono brusco, sarà sicuramente che io sono abituato in maniera differente, ma la pagina di cancellazione è veramente un bordello!!!
Allora....nella pagina di presentazione dei dati, la prima che hai, devi linkare il titolo che vuoi eliminare alla pagina di cancellazione, che mettiamo si chiami "delete.asp".
quindi nella prima pagina puoi mettere un link, nella relativa riga, con
<%=rs("titolo")%>
La pagina delete.asp si piglia quindi l'ID del record da cancellare.
nella pagina delete.asp, devi semplicemnte fare:
<%
'apri connessione Conn
sqldel = "delete * from tabNews where ID=" & request.querystring("ID") & ";"
Conn.execute sqldel
%>
ovviamntte codice molto scarno, devi proteggerlo da sqlinjection e cavolate varie, però il senso è quello. per provare, non fare l'execute ma stampa a video l'SQL, cosi vedi come viene.