Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cristhianofonseca

Atualizar vários registros de uma só vez

Recommended Posts

Fala macacada!Veja se alguém consegue me dar um help...Seguinte, depois de buscar alguns registros no mysql e exibir na tela, tenho ao lado de cada registro exibido um "checkbox". Preciso ao executar o "submit" atualizar um campo dos registros em que o "checkbox" foi marcado.Qual a melhor forma de fazer isso? Ex.: Tenho uma relação de alunos listado e marcarei o "checkbox" dos que estiveram presentes na aula. Ao confirmar, gravarei no campo "presenca" o valor "P" somente dos registros em que o "checkbox" foi marcado.Valeu galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer assim:

 

foreach($_POST["nome_do_checkbox"] as $checkbox){   $sql = "INSERT ou UPDATE';   $resultado = mysql_query($sql, $link);}
No comando SQL você coloca o quer fazer com cada registro.

 

$sql = "INSERT INTO nome_tabela presença_aluno = 'P' WHERE aluno='$checkbox';

 

OU

 

$sql = "UPDATE nome_tabela SET presença_aluno = 'P' WHERE aluno='$checkbox';

 

O $checkbox vai receber o nome dos alunos que tem presença.

 

Ve se isso ajuda. Até mais...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar o exemplo agora do meu problema em questão:Tenho um cadastro de cheques, onde para cada cpf cadastrado tenho vários cheques.Listarei todos os cheques de um cpf, onde após o submit precisarei atualizar o campo "depositado" somente dos cheques em que o "checkbox" foi marcado.Melhorou agora?Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue: <? $cpf_cheque = $_POST["txtCPF_cheque"]; $sql = mysql_query("SELECT * FROM cheque WHERE cpf_cheque = '$cpf_cheque' AND (LENGTH(dt_deposito) < '2') ORDER BY vencto") or die("ERRO NO COMANDO SQL!"); $total_cheque = mysql_num_rows($sql); $total_registros = ("SELECT COUNT(*) FROM cheque WHERE cpf_cheque = '$cpf_cheque' (LENGTH(dt_deposito) < '2')") or die("ERRO NO COMANDO SQL DO TOTALIZADOR VALOR!"); //pegando total de registros $query = mysql_query($total_registros); $linha_cheque = mysql_fetch_array($query); while($linha_cheque = mysql_fetch_array($sql)){ $id_cheque = $linha_cheque["id_cheque"]; $cpf_cheque = $linha_cheque["cpf_cheque"]; $loja = $linha_cheque["loja_origem"]; $dt_inclusao = $linha_cheque["dt_inclusao"]; $hr_inclusao = $linha_cheque["hr_inclusao"]; $cod_banco = $linha_cheque["cod_banco"]; $agencia = $linha_cheque["agencia"]; $conta_corrente = $linha_cheque["conta_corrente"]; $num_cheque = $linha_cheque["num_cheque"]; $dt_vencto = $linha_cheque["dia_vencto"]."/".$linha_cheque["mes_vencto"]."/".$linha_cheque["ano_vencto"]; $valor_cheque = $linha_cheque["valor"]; $nome = $linha_cheque["nome"]; $devolucao = $linha_cheque["devolucao"]; echo "<tr>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> <input name='check_id_cheque' type='checkbox' value='".$id_cheque."'></input></td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$cpf_cheque."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$nome."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$loja."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$dt_inclusao."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$hr_inclusao."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$cod_banco."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$agencia."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$conta_corrente."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$num_cheque."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Devolucao' height='17' bgcolor='#CCCCCC'> ".$devolucao."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$dt_vencto."</td>"; echo "<td bgcolor='#FFFFFF' colspan='' class='Tahoma12b'></td>"; echo "<td class='Tahoma12b' height='17' bgcolor='#CCCCCC'> ".$valor_cheque."</td>"; echo "</tr>"; echo "<tr></tr>"; } ?>No aguardo, valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é o arquivo que dou o update:$check_id_cheque = $_POST["check_id_cheque"]; foreach($check_id_cheque as $checkbox){ $update = ("UPDATE cheque SET empresa_deposito='".$empresa_deposito_LOCAL."', empresa_deposito2='".$empresa_deposito_LOCAL2."', dia_deposito='".$dia_deposito_LOCAL."', mes_deposito='".$mes_deposito_LOCAL."', ano_deposito='".$ano_deposito_LOCAL."', dt_deposito='".$dt_deposito_LOCAL."', dt_insercao_deposito='".$dt_insercao_deposito."' WHERE id_cheque = '".$checkbox."'") or die("ERRO NO COMANDO SQL UPDATE!"); $resultado = mysql_query($update);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só,

 

no campo do input você deve colocar assim:

 

<input name='check_id_cheque[]' type='checkbox' value='".$id_cheque."'>
Desta forma, o check_id_cheque vai ser um array para todos (cada linha da sua tabela).

 

Outra coisa que você deve modificar é o arquivo do update. Como o check_id_cheque será um array, você não precisa, necessáriamente pegar o valor da variável no início. Por isso sugeri que você usasse foreach.

 

Tente fazer assim:

 

foreach($_POST['check_id_cheque'] as $checkbox){   $sql = "UPDATE....."}
Entendeu??

 

Vou tentar fazer um exemlo simples pra você, e assim que estiver pronto, posto aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada neste código que eu fiz. Salva ele aí e vê como funciona.

 

 

<form method="POST" action="<?php echo $PHP_SELF;?>"><table><tr>  <td><input name="check[]" type="checkbox" value="valor1"></td>  <td>valor1</td></tr><tr>  <td><input name="check[]" type="checkbox" value="valor2"></td>  <td>valor2</td></tr><tr>  <td><input name="check[]" type="checkbox" value="valor3"></td>  <td>valor3</td></tr><tr>  <td><input name="check[]" type="checkbox" value="valor4"></td>  <td>valor4</td></tr><tr>  <td><input name="check[]" type="checkbox" value="valor5"></td>  <td>valor5</td></tr><tr>  <td colspan="2" align="center"><input type="submit" value=" OK "></td></tr></table></form><?php//PARTE DO UPDATEif($_POST){   echo "<b>OS VALORES ESCOLHIDOS FORAM:</b><BR>";   foreach($_POST["check"] as $verificar){	  echo "$verificar<BR>";   }}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.