Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Inserimento , delete , update multiplo

    Buonasera, Ragazzi ho un form con dei check

    codice HTML:
    <input type='checkbox' value='1' name='idtipologiaprodotto0'>
    <input type='checkbox' value='1' name='idtipologiaprodotto1'>
    <input type='checkbox' value='1' name='idtipologiaprodotto2'>
    Estraggo i dati da una tabella chiamata tipologiaprodotto e fin qui tutto funziona , incrementa senza problemi


    ho fatto il ciclo in php in questo modo

    Codice PHP:

    for ($i 0$i $contatore$i++) { 
                
      if(
    $_REQUEST['idtipologiaprodotto'.$i] !=''){     
          
      
    $sqlValues[] = "('{$azienda->idgestore}','"$_REQUEST['idtipologiaprodotto'.$i]."')";     
        
        }                 

       }        
     
      
    $sql 'INSERT INTO `gestionetipologieprodottigestori` (`idgestore` , `idtipologiaprodotto`) VALUES 'implode(', '$sqlValues);

          
       
    $db->Query($sql);     
           
    // fine             
         
            

    Inserisce i valori correttamente, fin qua nessun problema, ma ho bisogno che quando tolgono la spunta da un campo check quindi quando il campo vuoto, devo fare la select che mi fa il confronto e il delete, ma non so come integrarlo nel pezzo di codice che vi ho scritto, come posso fare? Grazie in anticipo per le risposte

  2. #2
    Ho provato a tappe, nel senso ho modificato lo script per fare in modo che se un checkbox è spuntato quindi già presente nel db per evitare che che ci siano già duplicati ho fatto così :

    Codice PHP:

    for ($i 0$i $contatore$i++) { 

           
      if (!
    $db->Query("SELECT * FROM gestionetipologieprodottigestori WHERE idtipologiaprodotto= '{$_REQUEST['idtipologiaproodtto'.$i]}'"))echo $db->Kill(); 

           while(
    $speriamo=$db->Row()){

                
    // adesso gli dico che se è  presente non deve inserire niente altrimenti si

             
    if($_REQUEST['idtipologiaprodotto'.$i]!=''){

                              if(
    $_REQUEST['idtipologiaprodotto'.$i] == $speriamo->idtipologiaprodotto){

                                    
    // non fare niente bucchino    

                                
    }// chiusura del if che trova uguaglianza tra l'inviato e l'esistente

                            
    else{ 

                    

                    
    $sqlValues[] = "('{$azienda->idgestore}','"$_REQUEST['idtipologiaprodotto'.$i]."')";

                          }

            } 
    // chiusura dell'if nel caso sono diversi da vuoti

      
            
    // chiusura while

     
               
    }// chiusura ciclo

                       
    $sql 'INSERT INTO `gestionetipologieprodottigestori` (`idgestore` , `idtipologiaprodotto`) VALUES 'implode(', '$sqlValues);


               echo 
    $sql;      
         die();

             
    $db->Query($sql); 

    Errore che esce fuori :
    codice:
    Warning: implode(): Invalid arguments passed in /gestori.php on line 98 INSERT INTO `gestionetipologieprodottigestori` (`idgestore` , `idtipologiaprodotto`) VALUES

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Hai provato a fare un var_dump($sqlValues) prima dell'insert?
    Fossi in te farei un delete di tutti i record poi l'insert. In questo modo non ti fai domande.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Geniale senza nemmeno fare la select a questo punto? giusto? provo subito grazie

  5. #5
    Funzionaaaaaaaaaaaaaaa Perfettamenteeeeeeeeeeeeeeeeeee non avevo pensato a cancellare, ma mi ero perso in molteplici ragionamenti di if e di controlli *__*

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 © 2026 vBulletin Solutions, Inc. All rights reserved.