Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Inserimento Multiplo

  1. #1

    Inserimento Multiplo

    Buongiorno, sto impazzendo in un inserimento multiplo , ma non riesco a capire cos'ha inserisce solo 1 record invece di quelli selezionati

    Codice PHP:
    selezione $_POST['selezione'];
     for(
    $i=0$i<=$selezione$i++){
         
    $spostamento['negozioOrigine']= MySQL::SQLValue($_REQUEST['negoziodest']);      $spostamento['idRiparazione']= MySQL::SQLValue($_REQUEST['idriparazione'.$i]);      $spostamento['negozioDestinazione']= MySQL::SQLValue($_REQUEST['idnegozio']);      $spostamento['conferma']= MySQL::SQLValue(1);      $spostamento['idanagrafica']= MySQL::SQLValue($_REQUEST['idanagrafica']);      $spostamento['idoperatore']= MySQL::SQLValue($_SESSION['ammid']);      $spostamento['dataSpostamento'] = MySQL::SQLValue(date("Y/m/d H:i"), MySQL::SQLVALUE_DATETIME);      if(! $spostamento $db->InsertRow("spostNegozi"$spostamento)) echo $db->Kill(); 
    Questo è l'nserimento , la $selezione la calcolo con javascript

    Codice PHP:
    <script type="text/javascript">    function incremento_contatore(check){                  
      var 
    contatore=document.form_consegna.selezione.value;                     
       if ($(
    '#'+check).is(":not(:checked)")){             contatore--;                     document.form_consegna.selezione.value=contatore;        } else {          
       
    contatore++;                   
      
    document.form_consegna.selezione.value=contatore;        }        
        }    
            
    </script> 
    questo invece l'input che collegato al js fa da contattore

    Codice PHP:
    <input type="hidden" name="selezione" id="selezione" value="0"
    i record che vengono visualizzati

    Codice PHP:

       <?php                                     
    $db
    ->Query("SELECT riparazioni. * , statiriparazioni. * , tipiassistenze. * , anagrafiche. * , articoli. * , marche. * , riparatori. * , negozi . *    FROM marche   RIGHT OUTER JOIN articoli ON marche.idmarca = articoli.idmarca             RIGHT OUTER JOIN riparazioni  INNER JOIN anagrafiche ON riparazioni.idanagrafica = anagrafiche.idanagrafica       INNER JOIN statiriparazioni ON riparazioni.idstato = statiriparazioni.idstato   INNER JOIN tipiassistenze ON riparazioni.idtipoassistenza = tipiassistenze.idtipoassistenza   INNER JOIN negozi ON riparazioni.idnegozio = negozi.idnegozio ON articoli.idarticolo = riparazioni.idarticolo   LEFT OUTER JOIN riparatori ON riparazioni.idriparatore = riparatori.idriparatore   WHERE riparazioni.idstato !=  '7'   AND riparazioni.idstato !='10'  AND riparazioni.idnegozio ='{$_POST['negoziodest']}'   AND riparazioni.eliminato ='0'   ORDER BY riparazioni.idriparazione DESC");                
                      
    $i=0;                             
      while(
    $row $db->Row()){                                                   
         
    ?>          
         <?php  $appoggio="chk-1".$row->idriparazione;    ?>

    <input  type="checkbox" onClick="javascript:incremento_contatore('<?php echo $appoggio?>');" name="idriparazione<?php echo $i;?>" value="<?=$row->idriparazione;?>"  id="<?php echo $appoggio?>">
    Il primo lo mette , mentre gli altri li inserisci ma vuoti , come mai? sto impazzendo. grazie per le risposte
    Ultima modifica di Werwolfe; 09-02-2016 a 04:23

  2. #2
    Magari così:

    codice:
    <input type="hidden" name="selezione[]" id="selezione" value="0">
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Grazie per la risposta, ho fatto come mi hai detto ma il risultato è peggiorato mi spiego meglio,

    <inputtype="hidden"name="selezione[]"id="selezione"value="0">
    metto come spunta tre prodotti, inserisce tre prodotti e in infinità di record vuoti dopo, inoltre mette idanagrafica di tre diverse persone , in modo giusto nei tre record ma sempre lo stesso idriparazione .

    togliendo invece le parentesi quadre come ho fatto io dall'inizio:

    mi mette solo il primo record selezionato e poi vuoti quelli selezionati come secondi , invece se tolgo la spunta dal primo , mi dice idRiparazione vuoto? dov'è l'orrore non riesco a capire
    Ultima modifica di Werwolfe; 10-02-2016 a 02:45

  4. #4
    prima di

    Codice PHP:

    selezione 
    $_POST['selezione']; 
    metti

    Codice PHP:
    print_r($_POST);
    exit; 
    e vedi che ti stampa così ti regoli pure sulle operazioni che devi fare con $_POST
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Ciao allora ho fatto come mi hai consigliato e arriva solo questo, o meglio funzion invia le tre idriparazioni giuste ma nel db non le mette perch+?

    Codice PHP:


              

              
    Array(    [selezione] => 4    [idnegozio] => 7    [idriparazione0] => 6598    [idanagrafica] => 12525    [idriparazione1] => 6593    [idriparazione2] => 6587    [idriparazione3] => 6584    [negoziodest] => 3    [messaggio] => inserimento    [modifica] => ok
    lo script che fa insert è questo :
    Codice PHP:
    $selezione $_POST['selezione']; for($i=0$i <=$selezione$i++){      $spostamento['negozioOrigine']= MySQL::SQLValue($_REQUEST['negoziodest']);      $spostamento['idRiparazione'] = MySQL::SQLValue($_REQUEST['idriparazione' $i]);      $spostamento['negozioDestinazione']= MySQL::SQLValue($_REQUEST['idnegozio']);      $spostamento['conferma']= MySQL::SQLValue(1);      $spostamento['idanagrafica']= MySQL::SQLValue($_REQUEST['idanagrafica']);      $spostamento['idoperatore']= MySQL::SQLValue($_SESSION['ammid']);      $spostamento['dataSpostamento'] = MySQL::SQLValue(date("Y/m/d H:i"), MySQL::SQLVALUE_DATETIME);      if(! $spostamento $db->InsertRow("spostNegozi"$spostamento)) echo $db->Kill();  } 

    Arriva un solo valore gli altri no, perch+?
    Ultima modifica di Werwolfe; 12-02-2016 a 14:58

  6. #6
    Ho provato a fare così :

    $sql= $db->Query("INSERT INTO spostNegozi (negozioOrigine,negozioDestinazione, dataSpostamento, idRiparazione,idoperatore ,idanagrafica, conferma) VALUES ('".$_REQUEST['negoziodest']."','".$_REQUEST['idnegozio']."','".$data."','".$_REQUEST['idriparazione' . $i]."','".$_SESSION['ammid']."','1')");

    }


    $db->TransactionBegin();

    if ($db->Query($sql)) {

    $db->TransactionEnd();


    // messaggio di inserimento riuscito

    echo "Last ID inserted was: " . $db->GetLastInsertID() . "<br /><br />\n";

    } else {

    $db->TransactionRollback();

    // messaggio di inserimento non riuscito

    echo "<p>Query Failed</p>\n";


    }

    mi dice errore query
    Ultima modifica di Werwolfe; 12-02-2016 a 16:40

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.