Jump to content


Photo

Fazer Update Com Vazios Checkboxes


  • Faça o login para participar
6 replies to this topic

#1 gremio10

gremio10

    Turista

  • Usuários
  • 27 posts
  • Sexo:Masculino

Posted 09/07/2010, 13:08

Tenhos 33 checkboxs e preciso cadastrar , cadastro elas em tabelas diferentes , agora , quando preciso editar , faço o update e utilizo o foreach para que atualize cada linha do codigo do usuario , mas ele so pega o ultimo e coloca em todos , alguem sabe como fazer para que ele pegue todos os checkbox marcados ?

Aqui os checkbox

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="campo">
      <tr>
        <td align="left"><input type="checkbox" value="Air bag do motorista" name="pecas[]" />Air bag do motorista</td>
        <td align="left"><input type="checkbox" value="Alarme" name="pecas[]" />Alarme</td>
        <td align="left"><input type="checkbox" value="Ar condicionado" name="pecas[]" />Ar condicionado</td>
        <td align="left"><input type="checkbox" value="Direção hidráulica" name="pecas[]" />Direção hidráulica</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Freio ABS" name="pecas[]" />Freio ABS</td>
        <td align="left"><input type="checkbox" value="Radio e CD player" name="pecas[]" />Radio e CD player</td>
        <td align="left"><input type="checkbox" value="Travas eletrônicas" name="pecas[]" />Travas eletrônicas</td>
        <td align="left"><input type="checkbox" value="Vidros elétricos" name="pecas[]" />Vidros elétricos</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Air bag duplo" name="pecas[]" />Air bag duplo</td>
        <td align="left"><input type="checkbox" value="Ar quente" name="pecas[]" />Ar quente</td>
        <td align="left"><input type="checkbox" value="Banco do motorista com ajuste de altura" name="pecas[]" />Banco do motorista com ajuste de altura</td>
        <td align="left"><input type="checkbox" value="Bancos dianteiros com aquecimento" name="pecas[]" />Bancos dianteiros com aquecimento</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Bancos de couro" name="pecas[]" />Bancos de couro</td>
        <td align="left"><input type="checkbox" value="Capota maritima" name="pecas[]" />Capota maritima</td>
        <td align="left"><input type="checkbox" value="Computador de bordo" name="pecas[]" />Computador de bordo</td>
        <td align="left"><input type="checkbox" value="Controle automático de velocidade" name="pecas[]" />Controle automático de velocidade</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Controle de tração" name="pecas[]" />Controle de tração</td>
        <td align="left"><input type="checkbox" value="Desembaçador traseiro" name="pecas[]" />Desembaçador traseiro</td>
        <td align="left"><input type="checkbox" value="Disqueteira" name="pecas[]" />Disqueteira</td>
        <td align="left"><input type="checkbox" value="Encosto de cabeça" name="pecas[]" />Encosto de cabeça</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Farol xenônio" name="pecas[]" />Farol xenônio</td>
        <td align="left"><input type="checkbox" value="Limpador traseiro" name="pecas[]" />Limpador traseiro</td>
        <td align="left"><input type="checkbox" value="Porta copos" name="pecas[]" />Porta copos</td>
        <td align="left"><input type="checkbox" value="Protetor de caçamba" name="pecas[]" />Protetor de caçamba</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Rádio" name="pecas[]" />Rádio</td>
        <td align="left"><input type="checkbox" value="Rádio e toca fitas" name="pecas[]" />Rádio e toca fitas</td>
        <td align="left"><input type="checkbox" value="Retrovisor fotocrônico" name="pecas[]" />Retrovisor fotocrônico</td>
        <td align="left"><input type="checkbox" value="Rodas de liga leve" name="pecas[]" />Rodas de liga leve</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Sensor de chuva" name="pecas[]" />Sensor de chuva</td>
        <td align="left"><input type="checkbox" value="Sensor de estacionamento" name="pecas[]" />Sensor de estacionamento</td>
        <td align="left"><input type="checkbox" value="Teto solar" name="pecas[]" />Teto solar</td>
        <td align="left"><input type="checkbox" value="Tração 4x4" name="pecas[]" />Tração 4x4</td>
        </tr>
      <tr>
        <td align="left"><input type="checkbox" value="Volante com regulagem de altura" name="pecas[]" />Volante com regulagem de altura</td>
        <td align="left">&nbsp;</td>
        <td align="left">&nbsp;</td>
        <td align="left">&nbsp;</td>
        </tr>
    </table>

e aqui para dar o update.

if (!empty($_POST["pecas"])){
foreach($_POST["pecas"] as $pecas){

$insere = mysql_query("UPDATE opcionais SET `nome` = '$pecas' WHERE `id` = '$id'");
}
}


#2 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 09/07/2010, 13:48

Boa Tarde,

Da uma olhada no código abaixo se é isso mesmo.

<?php
         // Verifica se alguma checkbox foi selecionada
         if(isset($_POST[“pecas”])) {
             // Faz um loop no Array de checkbox
             // A função count retorna a quantidade de checkbox selecionado
             for($i = 0; $i < count($_POST[“pecas”]); $i++) {
                 echo “A Peça “.$_POST[“pecas”][$i].” foi selecionada!<br />”;
                 //O update pode ser feito aqui
             }
         } else {
             echo “Nenhuma CheckBox foi selecionada!”
         }
?>

Qualquer coisa posta ai, Dalhe Grêmio :beer:

Abraço
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#3 gremio10

gremio10

    Turista

  • Usuários
  • 27 posts
  • Sexo:Masculino

Posted 09/07/2010, 14:02

Boa Tarde,

Da uma olhada no código abaixo se é isso mesmo.

<?php
         // Verifica se alguma checkbox foi selecionada
         if(isset($_POST[“pecas”])) {
             // Faz um loop no Array de checkbox
             // A função count retorna a quantidade de checkbox selecionado
             for($i = 0; $i < count($_POST[“pecas”]); $i++) {
                 echo “A Peça “.$_POST[“pecas”][$i].” foi selecionada!<br />”;
                 //O update pode ser feito aqui
             }
         } else {
             echo “Nenhuma CheckBox foi selecionada!”
         }
?>

Qualquer coisa posta ai, Dalhe Grêmio :beer:

Abraço


Cara , ele funciona direitinho , mas nao consegui emplementar ele fazendo com que ele de um update na minha tabela , saberia como fazer isso ???

Dalhê

#4 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 09/07/2010, 14:13

Fala ai,

Tem que testar fiz de cabeça..
<?php
         // Verifica se alguma checkbox foi selecionada
         if(isset($_POST[“pecas”])) {
             // Faz um loop no Array de checkbox
             // A função count retorna a quantidade de checkbox selecionado
             for($i = 0; $i < count($_POST[“pecas”]); $i++) {
                 echo “A Peça “.$_POST[“pecas”][$i].” foi selecionada!<br />”;
                 $insere = mysql_query("UPDATE opcionais SET `nome` = ".$_POST['pecas'][$i]." WHERE `id` = '$id'");
             }
         } else {
             echo “Nenhuma CheckBox foi selecionada!”
         }
?>

Abraço.
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#5 gremio10

gremio10

    Turista

  • Usuários
  • 27 posts
  • Sexo:Masculino

Posted 09/07/2010, 14:23

Tah estranho , pq ele mostra na tela os checkboxs que foram selecionados , mas nao faz update nenhum..

#6 edero

edero

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:PHP, DOT.NET, FLEX, SQL-SERVER, TDD, Agilidade, RAILS

Posted 16/07/2010, 11:16

Testa a sua instrução mysql em algum navegador de banco de dados. Verifica se a variavel $id está correta ou com algum valor.

Tah estranho , pq ele mostra na tela os checkboxs que foram selecionados , mas nao faz update nenhum..



#7 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 16/07/2010, 17:20

e aqui para dar o update.

if (!empty($_POST["pecas"])){
foreach($_POST["pecas"] as $pecas){

$insere = mysql_query("UPDATE opcionais SET `nome` = '$pecas' WHERE `id` = '$id'");
}
}

Você está usando o mesmo $id para todos os updates. Assim atualiza sempre o mesmo registro, claro. O que você quer fazer quando o checkbox for desmarcado?




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq