Ir para conteúdo
Fórum Script Brasil

thiago.php

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que thiago.php postou

  1. Olá pessoal. Já pesquisei em muitos lugares e ainda não consegui resolver meu problema...que está me atormentando. Tenho um <form> dinâmico, gerado com WHILE, o qual lista vários registros de acordo com o SELECT. Coloquei um checkbox ao lado de cada registro, para que somente os selecionados sejam atualizados (com uma data calculada a ser inserida em um campo data específico), ao clicar em "<submit>". O que acontece é que, ao selecionar os registro e submete-los para o update, só é atualizado o primeiro ou o último registro retornado da consulta no BD. Coloco a seguir os scripts: Formulário dinamico (traz vários registros com checkbox ao lado): <?php include ("mysql_conecta.php"); ("ver_sessao.php"); $sel_max_os=mysql_query("SELECT MAX(num_os) as maxnum_os FROM tb_num_os "); $ressel = mysql_fetch_assoc($sel_max_os); $max=$ressel['maxnum_os']; $sit_os=mysql_query("SELECT sit_os FROM tb_num_os WHERE num_os='$max' "); $ressit = mysql_fetch_assoc($sit_os); $sit_atual=$ressit['sit_os']; $tudo=mysql_query("SELECT * FROM tb_num_os WHERE num_os='$max' "); $res= mysql_fetch_array($tudo); $data_os = $res['data']; $area_aberta = $res['area']; $empresa_aberta = $res['empresa']; $num_os_aberta = $res['num_os']; $sit_os = $res['sit_os']; $empresa = $_POST['empresa']; ?> <p align="left"><b><h3><p align="center">Formulário</p></h3></b> <?php if($sit_atual==0){echo "<fieldset>"."<font color='#FF0000'>"."Não há O.S. aberta a ser concluída"."</font>"."</fieldset>";} else{ ?> <form action="mysql_os_fecha.php" method="post" enctype="multipart/form-data"> <?php $sql = mysql_query("SELECT * FROM tb_dados WHERE empresa='$empresa' ORDER BY data_exec ",$conn)or die(mysql_error()); if($sql >= 0){ while ($row = mysql_fetch_assoc($sql)){ $ordem = $row['ordem']; $area = $row['area']; $cc = $row['cc']; $conjunto = $row['conjunto']; $tag = $row['tag']; $equipamento= $row['equipamento']; $tag_equip= $row['tag_equip']; $pt_item= $row['pt_item']; $item= $row['item']; $dispositivo= $row['dispositivo']; $lubrificante= $row['lubrificante']; $norma= $row['norma']; $servico= $row['servico']; $freq= $row['freq']; $tempo_exec= $row['tempo_exec']; $qtde= $row['qtde']; $un= $row['un']; $sit= $row['sit']; $data_ini= $row['data_ini']; $data_final= $row['data_final']; $key= $row['key']; $hoje = strtotime($data_os); $data_hoje = date('Y-m-d', $hoje); $data_limup = $hoje + (7 * 24 * 60 * 60); $data_limiteup = date('Y-m-d', $data_limup); if(empty($data_final) OR $data_final='0000-00-00'){ $datai = strtotime($data_ini); $data1 = $datai + ($freq * 24 * 60 * 60); $data_exec = date('Y-m-d', $data1); } else{ $dataf = strtotime($data_final); $data2 = $dataf + ($freq * 24 * 60 * 60); $data_exec = date('Y-m-d', $data2); } if($data_exec <= $data_limiteup){ ?> <fieldset> <input type="hidden" name="data_os" value="<?php echo $data_os;?>"> <input type="hidden" name="area_aberta" value="<?php echo $area_aberta;?>"> <input type="hidden" name="empresa_aberta" value="<?php echo $empresa_aberta;?>"> <input type="hidden" name="num_os_aberta" value="<?php echo $num_os_aberta;?>"> <input type="hidden" name="key" value="<?php echo $key;?>"> <input type="hidden" name="empresa" value="<?php echo $empresa;?>"> <input type="hidden" name="cc" value="<?php echo $cc;?>"> <input type="hidden" name="conjunto" value="<?php echo $conjunto;?>"> <input type="hidden" name="tag" value="<?php echo $tag;?>"> <input type="hidden" name="equipamento" value="<?php echo $equipamento;?>"> <input type="hidden" name="tag_equip" value="<?php echo $tag_equip;?>"> <input type="hidden" name="item" value="<?php echo $item;?>"> <input type="hidden" name="dispositivo" value="<?php echo $dispositivo;?>"> <input type="hidden" name="servico" value="<?php echo $servico;?>"> <input type="hidden" name="lubrificante" value="<?php echo $lubrificante;?>"> <input type="hidden" name="qtde" value="<?php echo $qtde;?>"> <input type="hidden" name="tempo_exec" value="<?php echo $tempo_exec;?>"> <input type="hidden" name="freq" value="<?php echo $freq;?>"> <input type="hidden" name="data_ini" value="<?php echo $data_ini;?>"> <input type="hidden" name="data_final" value="<?php echo $data_final;?>"> <input type="hidden" name="data_exec" value="<?php echo $data_exec;?>"> <b><font color="#000080">Data de execução</font></b>: <?php $d=date('d-m-Y',strtotime($data_exec));echo $d;?> <b>Concluído?</b><input type="checkbox" name="exec[]" value="1"><br> <h5> <b><font color="#808080">Conjunto</b>: </font> <?php echo $conjunto;?> <b><font color="#808080">Tag</b>: </font> <?php echo $tag;?> <b><font color="#808080">Equipamento</b>:</font> <?php echo $equipamento;?> <b><font color="#808080">Tag Equip</b>: </font> <?php echo $tag_equip;?> <b><font color="#808080">Serviço</b>: </font> <?php echo $servico;?><br> <b><font color="#808080">Item</b>: </font> <?php echo $item;?> <b><font color="#808080">Dispositivo</b>:</font> <?php echo $dispositivo;?> <b><font color="#800000">Lubrificante </font></b>: <?php echo $lubrificante;?> <b><font color="#008000">Qtde Prevista </font></b>: <?php echo $qtde;?> <b><font color="#000080">Tempo Previsto </font></b>: <?php $d=date('H:i',strtotime($tempo_exec));echo $d;?><br> <b><font color="#800000">MNE </font></b>:<input type="textarea" size="38" name="comentario"> <b><font color="#800000">Lubr. Utiliz. </font></b>:<input type="text" size="5" name="lubr_uti"> <b><font color="#008000">Qtde Real </font></b>:<input type="text" size="1" name="qtde_real"> <b><font color="#000080">Tempo Real </font></b>:<input type="time" size="2" name="tempo_exec_real"> </h5> </fieldset> <?php }}} ?> <p align="right"><input type="submit" name="fechar_os" value=" Concluir O.S " /></p> </form> <?php } ?> Script para atualizar o BD (que atualiza só um registro, e não todos os selecionado no checkbox): <?php include ("mysql_conecta.php"); ("ver_sessao.php"); $data_os = $_POST['data_os']; $area_aberta = $_POST['area_aberta']; $empresa_aberta = $_POST['empresa_aberta']; $num_os_aberta = $_POST['num_os_aberta']; $empresa= $_POST['empresa']; $comentario= $_POST['comentario']; $key = $_POST['key']; //id $cc= $_POST['cc']; $conjunto= $_POST['conjunto']; $tag= $_POST['tag']; $equipamento= $_POST['equipamento']; $servico= $_POST['servico']; $dispositivo = $_POST['dispositivo']; $tag_equip= $_POST['tag_equip']; $item= $_POST['item']; $lubrificante= $_POST['lubrificante']; $freq= $_POST['freq']; $tempo_exec= $_POST['tempo_exec'];; $qtde= $_POST['qtde']; $data_ini= $_POST['data_ini']; $data_final= $_POST['data_final']; $data_exec= $_POST['data_exec']; //PROBLEMA!! foreach($_POST['exec'] as $checked){ if($checked == 1){ $sql_datas=( //SE EU ESCREVER "mysql_query" dá erro e não executa...tem que ser sem mesmo... "UPDATE tb_dados SET data_final='$data_exec' WHERE conjunto IN ('$_POST[conjunto]') AND tag IN ('$_POST[tag]') AND equipamento IN ('$_POST[equipamento]') AND servico IN ('$_POST[servico]') AND dispositivo IN ('$_POST[dispositivo]') "); if (!mysql_query($sql_datas)) {die('Error: ' . mysql_error());} else {echo "Serviços selecionados concluídos com sucesso. | Serviços não selecionados serão reabertos automaticamente."."<br />";} } } ?> Serei muuuuuito grato por sua ajuda!!!
×
×
  • Criar Novo...