Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387

    Eliminare dinamicamente record

    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?

  2. #2
    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?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    non mi viene in mente nessun modo per associare il link e il dato id da passare

  4. #4
    Originariamente inviato da Colino
    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?
    Parti da un recordset? Hai un database?

  5. #5
    Originariamente 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?
    quotissimo

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    scusate ma sono proprio un novizio in questo ramo,
    vi posto il codice che uso x visualizzare i record

    codice:
    do while not rs.EOF 
    Response.Write ("ID News: ")
    Response.write rs("ID") 
    Response.Write rs ("corpo_news")
    rs.MoveNext ' Movenext
    loop
    ora vorrei che per ogni record generato mi crei un collegamento o pulsante che alla pressione mi elimini il record associato.
    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...

  7. #7
    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.
    codice:
    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
    pagina cancella.asp
    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
    %>

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    ehm...ho provato ma non riesco a farlo andare

    ad ogni modo ti posto il codice asp

    pagina news.asp

    codice:
    <%
    
    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
    
    
    %>
    questo è invece il codice asp della pagina che esegue l'operazione
    cancellanews.asp

    codice:
    <%
    
    
    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
    
    
    %>
    per eliminare il record inserivo manualmente in un form presente nella pagina contenente il primo codice che ti ho scritto

    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>
    quale comando devo usare nella pagina cancellanews.asp per eliminare l'id passato dal link generato nella pagina news.asp?

  9. #9
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.