Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Cancellare più record tramite un form

    Ciao.
    Ho la necessità, da una lista di record estratti da un db, di poterne selezionare alcuni e poi provvedere con un colpo solo alla loro cancellazione.
    Pensavo di fare un form, con dentro dei checkbox per ogni record estratto, e in fondo alla pagina un bottone per la cancellazione dei record selezionati.

    Però non ho bene in mente come poter procedere...
    Fino alla realizzazione del form, nessun problema... ma quando vado a fare il submit, come faccio a scorrermi i campi del form (dinamici) e a sapere quali record devo eliminare dal db e quali no?

    Avete qualche dritta da darmi?
    Grazie.

  2. #2
    dai ad ogni checkbox lo stesso nome (che ne so, id) e come value l'id del record che sta stampando

    poi nella pagina che riceve i dati
    codice:
    dim id_records
    id_records=split(request.form("id"),",")
    
    for each id in id_records
    sql="delete * from tabella where id=" & id
    conn.execute(sql)
    next

  3. #3
    Grazie mille!
    Sicuramente funziona alla grande così... domani provo e se ho problemi in caso ti faccio sapere.

    Grazie.


  4. #4
    Io faccio così:

    codice:
    checkbox = request.form("selezione")
    
    sqlstring = "DELETE FROM tabella WHERE id IN (" & checkbox & ")"
    
    objConn.Execute (sqlstring)
    Richiamo tutte le checkbox selezionate (valorizzandole con l'id del record) e poi procedo all'eliminazione in massa dei record.

    Forse, dico forse, è più veloce del ciclo for che ti ha suggerito santino83.

    Provali magari entrambi.


  5. #5
    Dirk, ma tu definisci la checkbox come santino (nel tuo caso le chiami tutte "selezione" e le valorizzi con l'ID del record)?

    Quindi la differenza sta solo nel fatto che tu nella query fai la "IN" mentre santino fa il ciclo for per scorrere i record ed eliminarli... giusto?

    Proverò entrambe le soluzioni.


  6. #6
    Dirk, ma tu definisci la checkbox come santino (nel tuo caso le chiami tutte "selezione" e le valorizzi con l'ID del record)?
    Yes Sir.

    Quindi la differenza sta solo nel fatto che tu nella query fai la "IN" mentre santino fa il ciclo for per scorrere i record ed eliminarli... giusto?
    Sì la differenza è solo quella.

  7. #7
    Originariamente inviato da Dirk Pitt
    Yes Sir.



    Sì la differenza è solo quella.
    bella prova dirk, non ci avevo mai pensato ad usare l'in...poi lo provo un giorno (anche se ormai le mie mani automaticamente splittano tutto quello che scrivono )


  8. #8
    Scrivi codice in più. Ma non fa mai male eh eh eh
    A parte quello, secondo me fai lavorare di più il server.

    Se fai i confronti fammi poi sapere.


  9. #9
    Originariamente inviato da Dirk Pitt
    Scrivi codice in più. Ma non fa mai male eh eh eh
    A parte quello, secondo me fai lavorare di più il server.

    Se fai i confronti fammi poi sapere.

    non ho una mole di dati sufficiente per poter eseguire un confronto... a 'fanc..o il server, io splitto tutto !!!!

    server:

    + donne - server

  10. #10
    Ok, ho provato con il metodo con la IN e tutto funziona a dovere, almeno sembra, dalle prime prove...
    Penso che questo sistema sia più performante, anche se nel mio caso la differenza si sentirebbe poco, in quanto i record non supereranno al massimo qualche centinaia!

    Grazie ad entrambi.


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.