Ir para conteúdo
Fórum Script Brasil
  • 0

Update múltiplos registros com checkbox


Ferreira_Filho

Pergunta

Estou tentando fazer um update de vários registros com checkbox, mais não está atualizando no banco de dados MySQL. Segue o meu código, desde já agradeço!

<?php 
include_once("../config/conexao.php");
$nivel = $_SESSION['nivel'];
   
if ($_SESSION['nivel'] == 4)
    {
$sql = "SELECT ID, NOME, VOLUNTARIO FROM cidadao ORDER BY NOME";
$res = mysql_query($sql) or die (mysql_error() );

if (mysql_num_rows($res) > 0 )
echo '<form method="post">';
?>
<table width="431" border="0" align="center" cellpadding="0" class="bordaFina">
    <tr bgcolor="#999999" >
      <td width="302" align="center" valign="middle" bgcolor="#F0F0F0" class="style27">Nome  </td>
      <td width="123" align="center" valign="middle" bgcolor="#F0F0F0" class="style27">Voluntário</td>
    </tr>
    <?php
while ($row = mysql_fetch_assoc($res))
    {     
    ?>
    <tr >
      <td><?php echo $row["NOME"];?></div></td>
  <td ><div align="center"> 
 <input type="checkbox" name= "VOLUNTARIOS[<?php  $row["ID"] ?>]" value="1" <?php if($row["VOLUNTARIO"] == 1){ echo "checked";} ?>> 
 <input type="hidden" name= "VOLUNTARIOS[<?php $row["ID"] ?>]" value="0" <?php if($row["VOLUNTARIO"] == 0){ echo ""; }  ?>>
  </div></td>
  </tr>
    <?php 
  }  //End While
  ?>
</table>
  
<p><div align="center"><?php echo '<input type="submit"name= "submit" value= "Salvar">';?></div>
  <?php

if (isset ($_POST["submit"]))
{        
        foreach($_POST['VOLUNTARIOS'] as $ID => $VOL) 
          {mysql_query("update cidadao SET VOLUNTARIO ='$VOL' WHERE ID='$ID'")or die(mysql_error()); }                    
           echo "<meta HTTP-EQUIV='refresh' CONTENT='1;URL=teste.php'>";
}
?>
<?php
echo'<br>';
echo '</form>';
}//endif
?>

form.PNG

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Tenta usar isso, se não der certo vou tentar te ajudar.

 

<?php 
 include_once("../config/conexao.php");
 $nivel = $_SESSION['nivel'];
    
 if ($_SESSION['nivel'] == 4){
   $sql = "SELECT ID, NOME, VOLUNTARIO FROM cidadao ORDER BY NOME";
   $res = mysql_query($sql) or die (mysql_error()); 
   if (mysql_num_rows($res) > 0 ){
 ?>
 <form method="post">
   <table width="431" border="0" align="center" cellpadding="0" class="bordaFina">
     <tr bgcolor="#999999" >
       <td width="302" align="center" valign="middle" bgcolor="#F0F0F0" class="style27">Nome  </td>
       <td width="123" align="center" valign="middle" bgcolor="#F0F0F0" class="style27">Voluntário</td>
     </tr>
     <?php
      while ($row = mysql_fetch_assoc($res)){     
     ?>
     <tr >
       <td><?php echo $row["NOME"];?></div></td>
       <td >
         <div align="center"> 
          <input type="checkbox" name= "VOLUNTARIOS[<?php  $row["ID"] ?>]" value="1" <?php if($row["VOLUNTARIO"] == 1){ echo "checked";} ?>> 
          <input type="hidden" name= "ID[]" value="<?php if($row["VOLUNTARIO"] == 0) echo ""; else: echo $row["ID"]; endif;  ?>" >
         </div>
      </td>
   </tr>
    <?php 
   }  //End While
   ?>
 </table>
   
 <p><div align="center"><?php echo '<input type="submit"name= "submit" value= "Salvar">';?></div>
 </br>
 </form>
 <?php 
}
}
  ?>
   <?php
    $dados = filter_input_array(INPUT_POST,FILTER_DEFAULT);
    if (isset($dados['submit'])):      
         foreach($dados['id'] as $ID) {
            $VOL =   $dados['VOLUNTARIO'][$ID];
           mysql_query("update cidadao SET VOLUNTARIO ='$VOL' WHERE ID='$ID'")or die(mysql_error()); }                    
            echo "<meta HTTP-EQUIV='refresh' CONTENT='1;URL=teste.php'>";
          }
    endif;
    ?>

Mas é preciso melhorar um pouco esses códigos, com força de coragem chega lá, já passei por isso.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...