Insert two checkboxes into different fields in mysql

1

I have this code that creates this table with the first two fields already filled in by default:

<?php
$result_cursos = "SELECT nome,
                         Quarto 

FROM centrodb.utentes

WHERE descricaovalencia = 'LAR' AND nome <> 'CLASSE' AND ativo = '1' ORDER BY nome ASC;";

    $resultado_cursos = mysqli_query($conn, $result_cursos);

$tabela1 .= '<div style="float: center" table align="center">';

$tabela1 .= '<table border="5">';

$tabela1 .= '<tr>';

$tabela1 .='<thead>';

$tabela1 .= '<tr>';

$tabela1 .= '<th>Utente</th>';

$tabela1 .= '<th>Quarto</th>';

$tabela1 .= '<th>Data Registo</th>';

$tabela1 .= '<th>Micção</th>';

$tabela1 .= '<th>Dejecção</th>';

$tabela1 .= '<th>Colaborador</th>';

$tabela1 .= '</tr>';

$tabela1 .='</thead>'; 

$tabela1 .='<tbody>';

    while($rows_cursos = mysqli_fetch_array($resultado_cursos)) {


$tabela1 .= '<tr>';

$tabela1 .= '<td> <input type="text" size="45" name= "NomeUtente[]" id= "NomeUtente" value="'.$rows_cursos['nome'].'"></td>';

$tabela1 .= '<td> <input type="text" size="1" name= "Quarto[]" id= "Quarto" value="'.$rows_cursos['Quarto'].'"></td>';

$tabela1 .= '<td> <input type="datetime-local" name= "DataRegisto[]" id= "DataRegisto"></td>';

$tabela1 .= '<td> <input type="checkbox" name= "Miccao[]"  value="Realizado"> Realizado <input type="text" name= "Tipo1[]" id= "Tipo1" size="30" ></td>';

$tabela1 .= '<td> <input type="checkbox" name= "Dejeccao[]" value="Realizado"> Realizado <input type="text" name= "Tipo[]" id= "Tipo" size="30" ></td>';

$tabela1 .= '<td> <select name="Colaborador[]" id="Colaborador">
   <option value="ANA CRISTINA MACHADO FERREIRA">ANA CRISTINA MACHADO FERREIRA</option>
   <option value="ANA PAULA PEREIRA BARBOSA">ANA PAULA PEREIRA BARBOSA</option>
   <option value="ANA PAULA SANTOS FLORES SILVA GONÇALVES">ANA PAULA SANTOS FLORES SILVA GONÇALVES</option>
   <option value="ANABELA OLIVEIRA FERNANDES DE MOURA CAMPOS">ANABELA OLIVEIRA FERNANDES DE MOURA CAMPOS</option>
   <option value="CLARINDA ROSA GONÇALVES MOREIRA FERNANDES">CLARINDA ROSA GONÇALVES MOREIRA FERNANDES</option>
   <option value="EUNICE MIRIAM MARTINS AZEVEDO">EUNICE MIRIAM MARTINS AZEVEDO</option>
   <option value="FERNANDA ALMEIDA">FERNANDA ALMEIDA</option>
   <option value="FERNANDA MARIA VASQUES MENDONÇA PEREIRA">FERNANDA MARIA VASQUES MENDONÇA PEREIRA</option>
   <option value="FLORINDA MARIA SANTOS CARDOSO DA COSTA PINTO">FLORINDA MARIA SANTOS CARDOSO DA COSTA PINTO</option>
   <option value="GEORGINA MARIA MATOS DE CARVALHO ARAÚJO">GEORGINA MARIA MATOS DE CARVALHO ARAÚJO</option>
   <option value="ISABEL MARIA GONÇALVES RODRIGUES GRAÇA">ISABEL MARIA GONÇALVES RODRIGUES GRAÇA</option>
   <option value="ISABEL MARIA MATOS MEIRELES BARROS BARGE">ISABEL MARIA MATOS MEIRELES BARROS BARGE</option> 
   <option value="JOANA RAQUEL COSTA LOPES">JOANA RAQUEL COSTA LOPES</option>
   <option value="LUISA DA CONCEIÇÃO COELHO DE ALMEIDA">LUISA DA CONCEIÇÃO COELHO DE ALMEIDA</option>
   <option value="MARIA ALICE SANTOS MAIA">MARIA ALICE SANTOS MAIA</option>
   <option value="MARIA BERNADETE MONTEIRO MOREIRA">MARIA BERNADETE MONTEIRO MOREIRA</option>
   <option value="MARIA CONCEIÇÃO ALMEIDA MARTINHO DIAS">MARIA CONCEIÇÃO ALMEIDA MARTINHO DIAS</option>
   <option value="MARIA DE JESUS BENTO MENDES">MARIA DE JESUS BENTO MENDES</option>
   <option value="MARIA HELENA TEIXEIRA FERREIRINHA">MARIA HELENA TEIXEIRA FERREIRINHA</option> 
   <option value="MARIA JOSÉ NOGUEIRA RODRIGUES PEREIRA">MARIA JOSÉ NOGUEIRA RODRIGUES PEREIRA</option>
   <option value="MARIA MANUELA MARTINS MORENO">MARIA MANUELA MARTINS MORENO</option>
   <option value="MONICA ALEXANDRA HORA GOMES MEDEIROS">MONICA ALEXANDRA HORA GOMES MEDEIROS</option>
   <option value="MÁRIO ANTÓNIO MOREIRA FERREIRA">MÁRIO ANTÓNIO MOREIRA FERREIRA</option>
   <option value="PATRÍCIA ALEXANDRA SILVA INÁCIO">PATRÍCIA ALEXANDRA SILVA INÁCIO</option>   
   <option value="PAULA CRISTINA RIBEIRO DA SILVA RODRIGUES">PAULA CRISTINA RIBEIRO DA SILVA RODRIGUES</option>
   <option value="PAULA MARIA RODRIGUES DA SILVA">PAULA MARIA RODRIGUES DA SILVA</option>
   <option value="PEDRO MONTEIRO">PEDRO MONTEIRO</option>
   <option value="SILVIA MANUELA DA SILVA BORGES">SILVIA MANUELA DA SILVA BORGES</option>  
</select></td>';

$tabela1 .= '</tr>'; 
    }
$tabela1 .= '</tr>';

$tabela1 .='</tbody>'; 

$tabela1 .= '</table>';

$tabela1 .= '</div>';

echo "<form method='POST' action=''>";
echo $tabela1;   

echo "<input type='submit' name='registar' value='Registo'>";

echo "</form>";

echo "</br>";
echo "</br>";

?>

After creating the table, I have this code to insert into the database table. You can only insert the row of the table that I fill.

<?php
if(isset($_POST['registar']))
{
for ($i=0;$i<count($_POST["NomeUtente"]);$i++) {
    $utente = $_POST['NomeUtente'][$i];
    $quarto = $_POST['Quarto'][$i];
    $data = $_POST['DataRegisto'][$i];
    $miccao = $_POST['Miccao'][$i];
    $tipo1 = $_POST['Tipo1'][$i];
    $dejeccao = $_POST['Dejeccao'][$i];
    $tipo = $_POST['Tipo'][$i];
    $colaborador = $_POST['Colaborador'][$i];

    $sql = "INSERT INTO registoMiDe (NomeUtente, Quarto, DataRegisto, Miccao, Tipo1, Dejeccao, Tipo, Colaborador) VALUES ('$utente', '$quarto', '$data', '$miccao', '$tipo1', '$dejeccao', '$tipo', '$colaborador')";
$res = mysqli_query($conn,$sql);

}
}
?>

The problem is that when I fill in only one checkbox on each line as shown in the image:

Itinsertsthevaluesofthecheckboxonthesamelineandcannot.Inthefirstoneshouldonlyenterthevalueofthecheckboxofmicturitionandinthesecondthevalueofthecheckboxoftheejection.Ishowhowyouaregoingtofillinthewrongdatabasetableintheimage:

    
asked by anonymous 31.03.2018 / 18:36

1 answer

2

The behavior of the input type="checkbox" of the html is to send to the server-side only the checked checkboxes

The way you are doing when submitting the form:

willreturn

Array([0]=>ABELDEFIGUEIREDOPINTO[1]=>ADELINOVALELOUREIRO)Array([0]=>16[1]=>30)Array([0]=>2018-03-31T15:00[1]=>2018-03-31T15:00)Array([0]=>Realizado)//faltando[1]Array([0]=>Realizado)//faltando[1]Array([0]=>MARIAJOSÉNOGUEIRARODRIGUESPEREIRA[1]=>MARIAJOSÉNOGUEIRARODRIGUESPEREIRA)

Sowhenloopingthesqlwillbe:

for$i=0

INSERTINTOregistoMiDe(NomeUtente,Quarto,DataRegisto,Miccao,Tipo1,Dejeccao,Tipo,Colaborador)VALUES('ABELDEFIGUEIREDOPINTO','16','2018-03-31T15:00','Realizado','','Realizado','','MARIAJOSÉNOGUEIRARODRIGUESPEREIRA')

for$i=1

INSERTINTOregistoMiDe(NomeUtente,Quarto,DataRegisto,Miccao,Tipo1,Dejeccao,Tipo,Colaborador)VALUES('ADELINOVALELOUREIRO','30','2018-03-31T15:00','','','','','MARIAJOSÉNOGUEIRARODRIGUESPEREIRA')

Youwillsucceedinthisway

PHP

if(isset($_POST['registar'])){$NomeUtente=$_POST['NomeUtente'];for($i=0;$i<count($_POST["NomeUtente"]);$i++) {
    $utente = $NomeUtente[$i];
    $quarto = $_POST['Quarto'][$i];
    $data = $_POST['DataRegisto'][$i];
    $miccao = $_POST['Miccao'][$i];
    $tipo1 = $_POST['Tipo1'][$i];
    $dejeccao = $_POST['Dejeccao'][$i];
    $tipo = $_POST['Tipo'][$i];
    $colaborador = $_POST['Colaborador'][$i];
    ..............................

and on the form

no while increments a counter by concatenating $j except for UserName []

$j=0;
while($rows_cursos = mysqli_fetch_array($resultado_cursos)) {

$tabela1 .= '<tr>';

$tabela1 .= '<td> <input type="text" size="45" name= "NomeUtente[]" id= "NomeUtente" value="'.$rows_cursos['nome'].'"></td>';

$tabela1 .= '<td> <input type="text" size="1" name= "Quarto['.$j.']" id= "Quarto" value="'.$rows_cursos['Quarto'].'"></td>';

$tabela1 .= '<td> <input type="datetime-local" name= "DataRegisto['.$j.']" id= "DataRegisto"></td>';

$tabela1 .= '<td> <input type="checkbox" name= "Miccao['.$j.']" value="Realizado"> Realizado <input type="text" name= "Tipo1['.$j.']" id= "Tipo1" size="30" ></td>';

$tabela1 .= '<td> <input type="checkbox" name= "Dejeccao['.$j.']" value="Realizado"> Realizado <input type="text" name= "Tipo['.$j.']" id= "Tipo" size="30" ></td>';


$tabela1 .= '<td> <select name="Colaborador['.$j.']" id="Colaborador">
....................
....................

$j++;
}
    
31.03.2018 / 23:28