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

    eliminare + record in base id unica query

    Ciaoa tutti.
    Io ho una serie di checkbox a cui è associato l'id del record da eliminare.
    Ora devo eliminare tutte quelle selezionate, però vorrei farlo con una sola query.
    In pochè parole è come se avessi un numero non determinato di id e devo eliminare tutti i record corrispondenti (id è univoca)
    Spero si possa fare, perchè non vorrei che se dovessi eliminare 100 record devo eseguire 100 query.
    Ah ovviamente queste id non sono per forza consecutive.
    ciao a tuti e grazie in anticipo

    PS pensavo a qualcosa del genere:

    Codice PHP:
    foreach($id as $key $valore)
    {
        
    $valore "OR id='".$valore."'";
        
    $elimina $elimina.$valore;

    però non penso funzioni, o almeno non così magari modificandola un po', più che alro è che poi non saprei come inserire corretamente $elimina nella query.

  2. #2
    Codice PHP:
    DELETE FROM tabella WHERE id $id1 OR id $id2 ... 
    I hate to feel the Love beetwen us die...
    This is our last embrace...


    IndiSound.net - La musica italiana indipendente
    Bertuccia.com - Chat, Forum e Galleria Fotografica...

  3. #3
    leggi sopra il mio edit.
    Grazie dell'aiuto, però come posso fare ad aggiungere tutte le id nel where?
    a seconda delle checkbox selsezionate queste id possono essere 3, 10, 100 ecc

  4. #4
    la sintassi da usare è quella di petrucci,
    devi solo adattarla al tuo caso, altrimenti posta un pò di codice e cerchiamo di aiutarti.

    in linea generale, quando crei i check mettigli un nome tipo check_XX dove XX è un numero progressivo, quando hai creato tutti i check scrivi il valore massimo in un campo hidden.

    nello script php basta un ciclo da 1 al valore del campo hidden che hai nel $_POST e controlli ogni singolo check... crei la lista id = $id1 OR id = $id2 e poi esegui la query.

    saluti
    daniele

  5. #5
    le check hanno questo nome:
    check_Nid
    es
    check_11
    check_15
    ecc

    (proprio come dicevi te)

    il codice con cui prelevo le check è questo:

    Codice PHP:
    i=0;
            
    $array_id=array();
            foreach(
    $_POST as $key => $value)
            {
                
    $controllo split("_"$key);
                if(
    $controllo[0]=='check')
                {
                    
    $array_id[$i]=$controllo[1];
                    
    $i++;
                }
            }
            echo 
    '<pre>';
            
    print_r($array_id);
            echo 
    '</pre>'
    come potete vedere se eseguite il codice viene stampato array_id che conterrà solo le check selezionate.
    Ora però nons o come opassare tutte queste id alla query

  6. #6
    perchè salvi le id in un array?

    se le metti in una semplice stringa dovresti aver finito.

    qualcosa del tipo:

    codice:
     $stringa_id = "";
     foreach($_POST as $key => $value){ 
       $controllo = split("_", $key); 
       if($controllo[0]=='check'){ 
          $stringa_id = $stringa_id."id = ".$controllo[1]." OR "; 
          $i++; 
       } 
     }
    alla fine $stringa_id contiene la condizione da aggiungere al WHERE.

    adattalo un pò al tuo caso e se hai problemi scrivi.

    perchè usi $controllo[1]? non dovresti passare i al posto di 1?

  7. #7
    ho usato controllo 1 e non "i" perchè 1 si firerisce allo split.
    Ricordi il nome della checkbox era così: check_N
    quidni controllo=split("_",$nome_checkbox);
    otterrò in controllo[0] check mentre in controllo[1] il numero..

    cmq ora faccio un po' di prove con la stringa...
    ciaaaaao

  8. #8
    ciao,
    guarda questa discussione è praticamente la stessa esigenza tua ma la soluzione è molto più elegante (e funzionale) di quella suggerita da me.

  9. #9
    perché non aiutate anche me visto che ho lo stesso problema?
    milka

  10. #10
    grazie mille, proprio quelloc he serviva a me
    ciaaaaaaaaao

    dimmi i tuo problema e ti do una mano io ^^

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.