Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    cancellazione record multipli

    ciao ho preparato un motore di ricerca di un'anagrafica, quando clicco cerca esce un elenco di utenti come faccio a mettere a fianco un checkbox e poi cliccando solo su quelli che seleziono cancellarli contemporaneamente?

  2. #2
    Racchiudi il recordset risultato della ricerca in un form e per ogni record aggiungi un
    Codice PHP:
    <label><input type="checkbox" name="delete[]" value="<?php echo($IDUtente); ?>"> Elimina</label>
    Poi nella pagina indicata nell'action del form, esegui la cancellazione con:
    Codice PHP:
    $comma_separated implode(","$_POST['delete']);
    mysql_query("Delete From TabellaUtenti Where IDUtente IN (".$comma_separated.")"); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok ora provo grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Buongiorno Luca,
    ho ripreso ora a lavorare sul codice, ma quello che mi hai scritto tu va bene per cancellare solo un record?
    Non ci vorrebbe un array per fare delle cancellazioni multiple?

  5. #5
    $_POST['delete'] è un array.
    Con il metodo implode viene trasformato in una stringa di valori separati dalla virgola da passare all'IN di mySQL

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    aaah ok

    questo è il codice, va bene così?

    Codice PHP:
    <form enctype="multipart/form-data" name="formcancella" action="<?=$PHP_SELF?>" method="post">

    <?php
    $id 
    $row2[id_anagrafica];
    ?>
                                
    <table width="230" height="30" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td width="140" align="left"><input type="checkbox" name="delete[]" value="<?php echo($id); ?>"> <span class="testo_rosso_bold3">Elimina <?=$id?></span></td>
            <td width="90">
            
            
    <input type="hidden" name="cancella" value="1">

    <input name="submit" type="submit" class="pulsante" value="cancella">

            
            </td>
          </tr>
        </table> 
        
                          
                                
                                
                                         
    </form>  


    <?
    if ($cancella==1){

    $comma_separated implode(","$_POST['delete']);

    $sql "DELETE FROM a_anagrafica WHERE a_anagrafica.id_anagrafica IN (".$comma_separated.")";

    mysql_query($sql,$conn) or die (mysql_error());

    }
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    funziona grazie dell'aiuto :-)

  8. #8
    Prego, ciao.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    emh scusa mi sono accorto solo ora che me ne cancella solo uno per volta anche se ne seleziono più contemporaneamente. Forse può dipendere dal pulsante cancella e dal form che li devo mettere fuori il ciclo della ricerca?

  10. #10
    Originariamente inviato da prinzart
    emh scusa mi sono accorto solo ora che me ne cancella solo uno per volta anche se ne seleziono più contemporaneamente. Forse può dipendere dal pulsante cancella e dal form che li devo mettere fuori il ciclo della ricerca?
    Sì, il form deve essere unico e contenere tutti i campi.

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.