Salvataggio in DB di array di date.

Buongiorno a tutti.

Ho un form di registrazione con campi input e due bottoni (uno per aggiungere campi al form e l'altro per salvare i dati nel db.

Ho un problema nel salvataggio in quanto mi salva tutti i dati ad eccezione della data di nascita e dello stato occupazionale (le altre select le salva tranquillamente).

Di seguito il codice

<form method="post" id="ciao" action="gestione.php">

<div id="readroot" style="display: none">


      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">

                                    <label for="form-nome">Nome</label>

                                    <input type="text" name="Nome[]" class="form-control field" id="form-nome" />                                   

                                </div>

                                <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">

                                    <label for="form-cognome">Cognome</label>

                                    <input type="text" name="Cognome[]" class="form-control field" id="form-cognome" />                                   

                                </div>                                       

                                <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">

                                                     <label for="form-luogonascita">Luogo di nascita</label>

                                    <input type="text" name="LuogoNascita[]" class="form-control field" id="form-luogonascita" />                                               

                                </div>

                                                 <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">

                                                     <label for="form-datanascita">Data di nascita</label>

                                    <input type="text" name="DataNascita[]" placeholder="GG/MM/AAAA" class="form-control field" id="form-datanascita" />                                                

                                </div>                           

                            <div class="row">

                                 <div class="col-xs-12 col-sm-6 col-md-6 col-lg-1">

                                                     <label for="form-sesso">Sesso</label>

                                    <select name="Sesso[]" class="form-control field" id="form-sesso">

                                                               <option value="" selected="selected" disabled="disabled">...</option>

                                        <option value="M">M</option>

                                        <option value="F">F</option>

                                    </select>                                

                                </div>

                                <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">

                                  <label for="form-cfiscale">Codice fiscale</label>

                                                   <input type="text" name="CodiceFiscale[]" class="form-control field" id="form-cfiscale" />                                         

                                </div> 
                                                 <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">

                                    <label for="form-cittadinanza">Cittadinanza</label>

                                    <input type="text" name="Cittadinanza[]" class="form-control field" id="form-cittadinanza" />                                       

                                </div>                                                

                                <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">

                                                     <label for="form-ruolo">Ruolo Componente</label>

                                    <select name="IDRuoloFamiglia[]" class="form-control field" id="form-ruolo">

                                                               <option value="" selected="selected" >Seleziona ruolo componente...</option>

                                        <option value="1">Padre</option>

                                        <option value="2">Madre</option>

                                        <option value="3">Figlio/a</option>

                                        <option value="4">Nonno/a</option>                                                                               <option value="8">Tutore/Curatore</option>

                                    </select>  
                                </div>
                                                 <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">

                                       <label for="form-soccupazionale">Stato occupazionale</label>

                                    <select name="IDStatoOccupazionale[]" class="form-control field" id="form-soccupazionale">

                                                               <option value="" selected="selected" disabled="disabled">Seleziona stato occupazionale...</option>

                                        <option value="1">Occupato/a</option>

                                        <option value="2">Disoccupato/a</option>

                                        <option value="3">Inoccupato/a</option>

                                        <option value="4">Pensionato/a</option>                                                                                <option value="6">Invalido/a</option>

                                    </select>                                                                          

                                </div>
                                                 <div class="col-xs-12 col-sm-3 col-md-3 col-lg-4">

                                    <label for="form-telefono">Telefono</label>

                                    <input type="text" name="Telefono[]" placeholder="+39" class="form-control field" id="form-telefono" /> 

                                                 </div>

                                                 <div class="col-xs-12 col-sm-5 col-md-4 col-lg-4">

                                    <label for="form-email">E-mail</label>

                                    <input type="text" name="Email[]" placeholder="es. paolo.rossi@gmail.com" class="form-control" id="form-email" />                                      

                                                 </div>

                                       </div>

                                       <div class="row"><h3 class="form-title"><span>Informazioni HF</span></h3>

                                                  <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">

                                    <label for="form-regione">Regione</label>

                                                     <input type="text" name="Regione[]" class="form-control field" id="form-regione" />        

                                 </div>
                                                  <div class="col-xs-12 col-sm-5 col-md-4 col-lg-4">

                                    <label for="form-comune">Comune</label>

                                    <input type="text" name="Comune[]" placeholder="Priolo (Siracusa)" class="form-control field" id="form-comune" />                                       

                                 </div>

                                                  <div class="col-xs-12 col-sm-5 col-md-4 col-lg-1">

                                    <label for="form-cap">Cap</label>

                                    <input type="text" name="Cap[]" class="form-control field" id="form-cap" />                                        

                                 </div>
                                                  <div class="col-xs-12 col-sm-5 col-md-4 col-lg-4">

                                    <label for="form-abitazione">Indirizzo Abitazione </label>

                                    <input type="text" name="Indirizzo[]" placeholder="es. Via delle vie, 3" class="form-control field" id="form-abitazione" />                                       

                                 </div>

                                <div class="col-xs-12">

                                    <label for="form-email">Note aggiuntive</label>

                                    <textarea class="form-control low-hight" cols="4" rows="4" name="Note[]"></textarea>

                                </div>

                            </div> 

                        </div>

                                      <div class="row components"></div>

                <span id="writeroot"></span>

                <input type="button" id="btnMore" onclick="moreFields();" value="Give me more fields!" />

                <input type="submit"  value="Send form" />    

</form>

la funzione moreFields 蠠

var counter = 0;

function moreFields() { counter++; var newFields = document.getElementById('readroot').cloneNode(true); newFields.id = ''; newFields.style.display = 'block'; var newField = newFields.childNodes; for (var i=0;i<newField.length;i++) { var theName = newField[i].name; if (theName) newField[i].name = theName + counter; } var insertHere = document.getElementById('writeroot'); insertHere.parentNode.insertBefore(newFields,insertHere); } window.onload = moreFields;

function moreFields()

{

                counter++;

                var newFields = document.getElementById('readroot').cloneNode(true);

                newFields.id = '';

                newFields.style.display = 'block';

                var newField = newFields.childNodes;

                for (var i=0;i<newField.length;i++)

                {

                               var theName = newField[i].name;

                               if (theName)

                                               newField[i].name = theName + counter;

                }

                var insertHere = document.getElementById('writeroot');

                insertHere.parentNode.insertBefore(newFields,insertHere);

}

window.onload = moreFields;

Quindi faccio una chiamata Ajax (credo e spero sia giusta) per inviare tutti i dati alla scrittura nel db

$(document).ready(function() {

                $("#ciao").submit(function(){

    var querystring = $('#ciao').serialize();

                              

                               $.ajax({

                                               url: '/result.php',

                                               type: "POST",

                                               data: querystring,

                                               success: function(data) {

                               $("div#result2").html(data);

                                               }

                                                              

                                               });

                                  return false;

                });

});

Lo script per il salvataggio in db questo

<?php

$con=mysqli_connect("127.0.0.1","root","","proof");


if(mysqli_connect_errno())

                {

                echo "CONNESSIONE A MYSQL FALLITA: ".mysqli_connect_error();

                }

               

                foreach (array('IDSoggetto','IDFamiglia','Nome', 'Cognome', 'DataNascita', 'CodiceFiscale','Sesso','IDStatoOccupazionale','Cittadinanza','Telefono','Email','Note','IDRuoloFamiglia', 'LuogoNascita','Indirizzo','Cap','Comune','Regione') as $pos) {

    foreach ((array) $_POST[$pos] as $id => $row) {

        $_POST[$pos][$id] = mysqli_real_escape_string($con, $row);

    }

}


//$data_da_form = ($_POST['DataNascita']);

list($giorno,$mese,$anno) = explode("/", $_POST['DataNascita']);

$data_in_db = $anno."/".$mese."/".$giorno;


$ids = $_POST['Nome'];

$cognome = $_POST ['Cognome'];

$Cod = $_POST ['CodiceFiscale'];

$sesso = $_POST ['Sesso'];

$soccupazionale = $_POST ['IDStatoOccupazionale'];

$cittadinanza = $_POST ['Cittadinanza'];

$telefono = $_POST ['Telefono'];

$email = $_POST ['Email'];

$note = $_POST ['Note'];

$ruolofam = $_POST ['IDRuoloFamiglia'];

$luogonascita = $_POST ['LuogoNascita'];

$abitazione = $_POST ['Indirizzo'];

$comune = $_POST ['Comune'];

$cap = $_POST ['Cap'];

$regione = $_POST ['Regione'];

$sql_0="INSERT INTO famiglie (IDFamiglia, Nome) VALUES ('', '$cognome')";

$query_0=mysqli_query($con,$sql_0) or die (mysqli_error($con));


$query="SELECT IDFamiglia FROM famiglie WHERE Nome=('$cognome')";

                                                               $dati=mysqli_query($con,$query);

                                                               $id=mysqli_fetch_row($dati);

$query_1=mysqli_query($con,$query) or die (mysqli_error($con));

                              

$items = array();


$size = count($ids);


for($i = 0 ; $i < $size ; $i++){

    // Check for part id

    /*if (empty($email[$i]) || empty($note[$i]) ) {

        continue;

    }*/

    $items[] = array(

     "IDRuoloFamiglia"       => $ruolofam[$i],

        "Nome"     => $ids[$i],

        "Cognome"    => $cognome[$i],

        "CodiceFiscale"       => $Cod[$i],

        "DataNascita"       => $data_in_db[$i],

        "LuogoNascita"  => $luogonascita[$i],

        "Sesso"       => $sesso[$i],

        "IDStatoOccupazionale"       => $soccupazionale[$i],

        "Cittadinanza"       => $cittadinanza[$i],

        "Telefono"       => $telefono[$i],

        "Email"       => $email[$i],

        "Note"       => $note[$i],

        "Indirizzo" => $abitazione[$i],     

        "Cap"  => $cap[$i],

        "Comune" => $comune[$i],       

        "Regione" => $regione[$i]

    );

}


if (!empty($items)) {

    $values = array();

    foreach($items as $item){

        $values[] = "('{$item['']}','{$item['$id[0]']}','{$item['Nome']}', '{$item['Cognome']}', '{$item['DataNascita']}', '{$item['LuogoNascita']}','{$item['CodiceFiscale']}', '{$item['Cittadinanza']}', '{$item['IDStatoOccupazionale']}', '{$item['Telefono']}', '{$item['Email']}', '{$item['IDRuoloFamiglia']}', '{$item['Sesso']}', '{$item['Note']}', '{$item['Indirizzo']}','{$item['Cap']}','{$item['Comune']}', '{$item['Regione']}' )";

    }


    $values = implode(", ", $values);


    $sql = "INSERT INTO soggettini (IDSoggetto,IDFamiglia,Nome,Cognome,DataNascita,LuogoNascita,CodiceFiscale,Cittadinanza,IDStatoOccupazionale,Telefono,Email,IDRuoloFamiglia,Sesso,Note,Indirizzo,Cap,Comune,Regione) VALUES  {$values}    ;

    " ;

    $result = mysqli_query($con, $sql );

    if ($result) {

        echo 'Successful inserts: ' . mysqli_affected_rows($con);

    } else {

        echo 'query failed: ' . mysqli_error($con);

    }

}


               

//echo " Inserimento avvenuto con successo ";

//echo $Cod;

mysqli_close($con);

  exit;

?>
inviato 7 mesi fa
jumpy83
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda