Ir para conteúdo

POWERED BY:

Arquivado

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

Maxxred

Atualizar somente dados alterados.

Recommended Posts

Estou criando um sistema de cadastro aqui pra empresa, e está quase tudo pronto, só estou apanhando na seguinte questão:

 

1º Um usuario faz o cadastro.

 

2º Um segundo usuário confere e da um OK pra ver si está tudo certo.

 

E nisso que to apanhando, o sistema gera um relatorio e habilita o campo "Conferido" para o usuario atualizar, e preciso que somente esse campo seja atualizado, pois o código que estou usando ele está atualizando toda a tabela, segue abaixo os códigos:

 

alteracao.php

 

<?
$connect = mysql_connect("localhost","","") or die("Connection Failure to Database");

mysql_select_db("tb_controle",$connect) or die ("Não é possível selecionar o banco de dados");

$busca = $_POST['date']; // data que o usuario digitou
$empresa = $_POST['empresa']; //categoria que o usuario deseja

$sql = "SELECT * FROM logistica WHERE date LIKE '%$busca%'AND empresa = '$empresa'";
$result = mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");

echo "<h1> Alterar Controle de Logistica</h1>";
echo "<hr><br>";
echo "<form action=alteracao_db.php method='post'>";

while ($linha=mysql_fetch_array($result)){
    
$id=$linha["id"];
$empresa=$linha["empresa"];
$nf=$linha["nf"];
$cliente=$linha["cliente"];
$motorista=$linha["motorista"];
$rota=$linha["rota"];
$entregue=$linha["entregue"];
$motivo=$linha["motivo"];
$date=$linha["date"];
$conferido=$linha["conferido"]; 

echo "<b>ID:</b> $id<br>";
echo "<b>Empresa:</b> $empresa<br>";
echo "<b>NF:</b> $nf<br>";
echo "<b>Cliente:</b> $cliente<br>";
echo "<b>Motorista:</b> $motorista<br>";
echo "<b>Rota:</b> $rota<br>";
echo "<b>Entregue:</b> $entregue<br>";
echo "<b>Motivo:</b> $motivo<br>";
echo "<b>Data:</b> $date<br>";
echo "<b>Conferido:</b> <input name='conferido_novo' type='text' value='$conferido'><br>";
echo "<hr><br>";
//echo "<input type='submit' value='Alterar'>";
//echo "</form>";
//echo "<hr><br>";
}
echo "<input type='submit' value='Alterar'>";
echo "</form>";
echo "<hr><br>";
?>

 

alteracao_db.php

 

<?
$connect = mysql_connect("localhost","","") or die("Nao é possível selecionar o banco de dados");
mysql_select_db("tb_controle",$connect) or die ("Nao é possível selecionar o banco de dados");

$sql = "UPDATE logistica SET conferido='".$_POST['conferido_novo']. "'";
$result = mysql_query($sql);
if (!$result) {
echo"<script language='javascript' type='text/javascript'>alert('Atualizacao nao feita.');window.location.href='acao.html';</script>";
}
else{
echo"<script language='javascript' type='text/javascript'>alert('Atualizacao completa.');window.location.href='acao.html';</script>";
}

?>

 

Si alguém puder ajuda ai =)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

gersonab, fiz a alteração, mais ele só altera o ultimo registro, o sistema gera um relatório com uns 10 resultados, mais ele só altera o ultimo, os anteriores ele não altera, coloquei o input submity no final pra tentar alterar todos mais sem sucesso.

 

vou colocar como ficou os codigos:

 

alteracao.php

 

<?
$connect = mysql_connect("localhost","","") or die("Connection Failure to Database");

mysql_select_db("tb_controle",$connect) or die ("Não é possível selecionar o banco de dados");

$busca = $_POST['date']; // data que o usuario digitou
$empresa = $_POST['empresa']; //categoria que o usuario deseja

$sql = "SELECT * FROM logistica WHERE date LIKE '%$busca%'AND empresa = '$empresa'";
$result = mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");

echo "<h1> Alterar Controle de Logistica</h1>";
echo "<hr><br>";
echo "<form action=alteracao_db.php method='post'>";

while ($linha=mysql_fetch_array($result)){
    
$id=$linha["id"];
$empresa=$linha["empresa"];
$nf=$linha["nf"];
$cliente=$linha["cliente"];
$motorista=$linha["motorista"];
$rota=$linha["rota"];
$entregue=$linha["entregue"];
$motivo=$linha["motivo"];
$date=$linha["date"];
$conferido=$linha["conferido"]; 

echo "<b>ID:</b> <input type='hidden' NAME='id_novo' VALUE='$id'><br>";
echo "<b>Empresa:</b> $empresa<br>";
echo "<b>NF:</b> $nf<br>";
echo "<b>Cliente:</b> $cliente<br>";
echo "<b>Motorista:</b> $motorista<br>";
echo "<b>Rota:</b> $rota<br>";
echo "<b>Entregue:</b> $entregue<br>";
echo "<b>Motivo:</b> $motivo<br>";
echo "<b>Data:</b> $date<br>";
echo "<b>Conferido:</b> <input name='conferido_novo' type='text' value='$conferido'><br>";
echo "<hr><br>";
}
echo "<input type='submit' value='Alterar'>";
echo "</form>";
echo "<hr><br>";
?>

 

alteracao_db.php

 

<?
$connect = mysql_connect("localhost","","") or die("Nao é possível selecionar o banco de dados");
mysql_select_db("tb_controle",$connect) or die ("Nao é possível selecionar o banco de dados");

$sql = "UPDATE logistica SET conferido='".$_POST['conferido_novo']. "' WHERE id='".$_POST['id_novo']. "'";
$result = mysql_query($sql);
if (!$result) {
echo"<script language='javascript' type='text/javascript'>alert('Atualizacao nao feita.');window.location.href='acao.html';</script>";
}
else{
echo"<script language='javascript' type='text/javascript'>alert('Atualizacao completa.');window.location.href='acao.html';</script>";
}

?>

 

Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

gersonab, fiz o seguinte, coloquei o formulário para cada pesquisa e na hora de salvar em vez de aparecer uma mensagem de alterado eu coloquei pra voltar o histórico, assim o usuário altera e depois clica pra salvar sem sair da página.

 

Como ficou os códigos:

 

alteracao.php

 

<?
$connect = mysql_connect("localhost","","") or die("Nao e possível selecionar o banco de dados");

mysql_select_db("tb_controle",$connect) or die ("Não e possível selecionar o banco de dados");

$busca = $_POST['date']; // data que o usuario digitou
$empresa = $_POST['empresa']; //empresa que o usuario deseja

$sql = "SELECT * FROM logistica WHERE date LIKE '%$busca%'AND empresa = '$empresa'";
$result = mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");

echo "<h1> Alterar Controle de Logistica</h1>";
echo "<hr><br>";
//echo "<form action=alteracao_db.php method='post'>";

while ($linha=mysql_fetch_array($result)){
    
$id=$linha["id"];
$empresa=$linha["empresa"];
$nf=$linha["nf"];
$cliente=$linha["cliente"];
$motorista=$linha["motorista"];
$rota=$linha["rota"];
$entregue=$linha["entregue"];
$motivo=$linha["motivo"];
$date=$linha["date"];
$conferido=$linha["conferido"]; 

echo "<form action=alteracao_db.php method='post'>";
echo "<b>ID:</b> $id <input type='hidden' NAME='id_novo' VALUE='$id'><br>";
echo "<b>Empresa:</b> $empresa<br>";
echo "<b>NF:</b> $nf<br>";
echo "<b>Cliente:</b> $cliente<br>";
echo "<b>Motorista:</b> $motorista<br>";
echo "<b>Rota:</b> $rota<br>";
echo "<b>Entregue:</b> $entregue<br>";
echo "<b>Motivo:</b> $motivo<br>";
echo "<b>Data:</b> $date<br>";
echo "<b>Conferido:</b> <input name='conferido_novo' type='text' value='$conferido'><br>";

echo "<input type='submit' value='Alterar'>";
echo "</form>";
echo "<hr><br>";
}
echo "<form action='acao.html'>";
echo "<input type='submit' value='Inicio' name='inicio'>";
echo "</form>";

?>

 

alteracao_db.php

 

<?
$connect = mysql_connect("localhost","","") or die("Nao e possível selecionar o banco de dados");
mysql_select_db("tb_controle",$connect) or die ("Nao e possível selecionar o banco de dados");

$sql = "UPDATE logistica SET conferido='".$_POST['conferido_novo']. "' WHERE id='".$_POST['id_novo']. "'";
$result = mysql_query($sql);
if (!$result) {
echo"<script language='javascript' type='text/javascript'>alert('Atualizacao nao feita.');window.location.href='javascript:history.back()';</script>";
}
else{
echo"<script language='javascript' type='text/javascript'>window.location.href='javascript:history.back()';</script>";
}

?>

 

Muito obrigado pela ajuda, abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, fiquei um tempo sem abrir o fórum e não vi sua mensagem rsrs.

 

Vou dar uma olhada nesse while sim.

 

Tenho uma duvida, nos campos de "Conferido" e "Entregue" teria como eu colocar somente duas opções como "Sim" ou Não" tipo um select e fazer com que ele puxe da tabela a opção que esta salva?

Compartilhar este post


Link para o post
Compartilhar em outros sites

gersonab, consegui colocar pra funcionar, agora ele esta pesquisando e mostrando as opções conforme os dados do banco.

 

vou postar abaixo os arquivos:

 

alteracao.html

 

<html>
<title>Busca</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" href="./css/jquery-ui.css" />
<script src="./js/menu_data/jquery-1.8.2.js"></script>
<script src="./js/menu_data/jquery-ui.js"></script>

<script>
$(function() {
    $("#data").datepicker({
        dateFormat: 'dd/mm/yy',
        dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado','Domingo'],
        dayNamesMin: ['D','S','T','Q','Q','S','S','D'],
        dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb','Dom'],
        monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez']
});
});
</script>

<body background="./imagem/fundo.jpg">
<center>
<h1>Conferencia controle de logistica</h1>    
</center> 
<form action="./files/alteracao.php" method="post">
<table border="0" align="center">
<tr>
    <td><label><font size="5">Data:</font></label></td>
    <td><input type="text" name="data" id="data" />
<select name="empresa" id="empresa">
  <option value="todas">Todas as Empresas</option>
  <option value="Empresa 1">Empresa 1</option>
  <option value="Empresa 2">Empresa 2</option>
  <option value="Empresa 3">Empresa 3</option>
</select></td>
</tr>
<tr>
    <td><input type="submit" Value="Buscar" /></td></form>
<form action="./acao.html">
    <td><input type="submit" Value="Inicio" /></td>
</tr>
</table>
<br>
<br>
</form>

</body>
</html>

 

alteracao.php

 

<?

include '../files/config.php'; //Arquivo de conexao com o BD

$data = $_POST['data']; //Data que o usuario digitou
$empresa = $_POST['empresa']; //Categoria que o usuario deseja

if ($empresa == "todas"){ //Condicao para pesquisar todas ou filtrar
    $sql = "SELECT * FROM logistica WHERE data LIKE '%$data%'";
}else{
    $sql = "SELECT * FROM logistica WHERE data LIKE '%$data%'AND empresa = '$empresa'";
}

$query = mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");


echo "<body background='../imagem/fundo.jpg'>";
echo "<h1> Alterar Controle de Logistica</h1>";
echo "<hr><br>";

while ($linha = mysql_fetch_array($query)){ //Funçao para replicar enquanto existir resultado
    
$id=$linha["id"];
$empresa=$linha["empresa"];
$nf=$linha["nf"];
//$cliente=$linha["cliente"];
//$motorista=$linha["motorista"];
//$rota=$linha["rota"];
$entregue=$linha["entregue"];
$motivo=$linha["motivo"];
$data=$linha["data"];
$conferido=$linha["conferido"]; 

echo "<form name='form1' action=../files/alteracao_db.php method='post'>";
echo "<table border='0'>";
echo "<tr><td><b>ID:</b></td>
     <td> $id <input type='hidden' name='id_novo[]' value='$id'></td></tr>";
echo "<tr><td><b>Empresa:</b></td>
    <td> $empresa </td></tr>";
echo "<tr><td><b>NF:</b></td>
    <td> $nf </td></tr>";
//echo "<b>Cliente:</b> $cliente<br>";
//echo "<b>Motorista:</b> $motorista<br>";
//echo "<b>Rota:</b> $rota<br>";

/*Condicao para mostrar os select*/
if ($entregue == "Sim"){

echo "<tr><td><b>Entregue:</b></td>
      <td> <select name = 'entregue_novo[]' id = 'entregue_novo'>
                    <option value = 'Sim'>$entregue</option>
                    <option value = 'Nao'>Nao</option>
           </select>         
           </td></tr>";
}else{

echo "<tr><td><b>Entregue:</b></td>
          <td> <select name = 'entregue_novo[]' id = 'entregue_novo'>  
               <option value = 'Nao'>$entregue</option>
               <option value = 'Sim'>Sim</option>
          </select>
          </td></tr>";
//<input id='entregue_novo' name='entregue_novo[]' type='text' value='$entregue'></td></tr>";
}
echo "<tr><td><b>Motivo:</b></td>
    <td> $motivo </td></tr>";
echo "<tr><td><b>Data:</b></td>
    <td> $data <br>";

if ($conferido == "Sim"){

echo "<tr><td><b>Conferido:</b></td>
          <td> <select name = 'conferido_novo[]' id = 'conferido_novo'>
               <option value = 'Sim'>$conferido</option>
               <option value = 'Nao'>Nao</option>
          </select>
          </td></tr>";
}else{
    
echo "<tr><td><b>Conferido:</b></td>
          <td> <select name = 'conferido_novo[]' id = 'conferido_novo'>
               <option value = 'Nao'>$conferido</option>
               <option value = 'Sim'>Sim</option>
          </select>
          </td></tr>";
}
//<td> <input id='conferido_novo' name='conferido_novo[]' type='text' value='$conferido'></td></tr>";
//echo "<hr><br>";
//echo "<tr><td><input type='submit' value='Alterar'></td></tr>";
//echo "</form>";
echo "</table><br>";
echo "<hr><br>";
}

echo "</body>";
echo "<input type='submit' value='Alterar'>";
echo "</form>";

echo "<form action='../acao.html'>";
echo "<input type='submit' value='Inicio' name='inicio'>";

echo "</form>";

//echo "<hr><br>";
?>

 

alteracao_db.php

 

<?

include '../files/config.php'; //Arquivo de conexao com o BD

if(isset($_POST)){

$count = count($_POST['id_novo']); 
$i = 0; 

while ($i < $count) { 
$id = $_POST['id_novo'][$i];
$entregue = $_POST['entregue_novo'][$i];
$conferido = $_POST['conferido_novo'][$i];

$query = mysql_query ("UPDATE logistica 
                       SET conferido = '$conferido', entregue = '$entregue' 
                       WHERE id = '$id'");

++$i; 
}

if (!$query) {
echo"<script language='javascript' type='text/javascript'>
    alert('Atualizacao nao feita.');window.location.href='javascript:history.back()';
    </script>";
}
else{
echo"<script language='javascript' type='text/javascript'>
    window.location.href='javascript:history.back()';
    </script>";
}


}

?>

 

O layout não é de um profissional, mais esta atendendo as nossas necessidades :).

 

Vlw a força.

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.