UPTADE de tabela através de formulário

08/12/2016

0

Galera,
Boa tarde.

Fiz um formulário que insere os valores no BD.
Agora quero editar (UPDATE) estes valores, porém não estou conseguindo.


> Código PHP da página do formulário

<?php
 @session_start();
include('consultas.php');
include('insert.php');
$iddorelatorio = @$_GET['id'];
$canal = @$_POST['namecanal'];
$coordenador = @$_POST['namecoordenador'];
$ocorrencia = @$_POST['nameocorrencia'];
$tipoocorrencia = @$_POST['nametipoocorrencia'];
$nivelocorrencia = @$_POST['namenivelocorrencia'];
$observacoes = @$_POST['nameobservacoes'];
$evento = @$_POST['nameevento'];
$data = @$_POST['namedata'];
$um = @$_POST['nameum'];
$wo = @$_POST['namewo'];
$cameras = @$_POST['namecameras'];
$micro = @$_POST['namemicro'];
$pontosdecamera = @$_POST['namepontosdecamera'];
$sinal = @$_POST['namesinal'];
$reporter = @$_POST['namereporter'];
$cabine = @$_POST['namecabine'];
$noar = @$_POST['namenoar'];
$produtorexecutivo = @$_POST['nameprodutorexecutivo'];

    if($evento != "" && $data != "" && $produtorexecutivo != ""){
      $status = EditarDados($iddorelatorio, $canal, $coordenador, $ocorrencia, $tipoocorrencia, $nivelocorrencia, $observacoes, $evento, $data, $um, $wo, $cameras, $micro, $pontosdecamera, $sinal, $reporter, $cabine, $noar, $produtorexecutivo);
}
?>





Criei um arquivo chamado insert.php, onde possuem os códigos para inserção e alteração no BD.



> insert.php
function EditarDados($iddorelatorio, $canal, $coordenador, $ocorrencia, $tipoocorrencia, $nivelocorrencia, $observacoes, $evento, $data, $um, $wo, $cameras, $micro, $pontosdecamera, $sinal, $reporter, $cabine, $noar, $produtorexecutivo){
       
        if ( mysql_query("UPDATE relatorio_t (canal, coordenador, ocorrencia, tipoocorrencia, nivelocorrencia, observacoes, evento, data, um, wo, cameras, micro, pontosdecamera, sinal, reporter, cabine, noar, produtorexecutivo) WHERE id = $iddorelatorio VALUES ('$canal', '$coordenador', '$ocorrencia', '$tipoocorrencia', '$nivelocorrencia', '$observacoes', '$evento', '$data', '$um', '$wo', '$cameras', '$micro', '$pontosdecamera', '$sinal', '$reporter', '$cabine', '$noar', '$produtorexecutivo')" )){
            echo "<script>alert('Alterado com sucesso!')</script>";
            echo "<meta http-equiv='refresh' content='0;url=index.php'>";
            return 1;
        }
        else{
            return 0;
        }
    }


Alguem pode me ajudar, por favor?
Daniel Ferreira

Daniel Ferreira

Responder

Posts

09/12/2016

Alex William

Sua query esta errada, essa forma que você usou é pra INSERT, para UPDATES use dessa forma:

]
UPDATE
    tabela
SET
    campo1 = 'valor1',
    campo2 = 'valor2',
WHERE
    id = $iddorelatorio


essa é a nomenclatura certa do SQL para UPDATES.

Espero ter ajudado.
Responder

09/12/2016

Alex William

Uma dica, coloque sua string da query primeiro numa variavel, depois mande fazer mysql_query, fica melhor:

function EditarDados($iddorelatorio, $canal, $coordenador, $ocorrencia, $tipoocorrencia, $nivelocorrencia, $observacoes, $evento, $data, $um, $wo, $cameras, $micro, $pontosdecamera, $sinal, $reporter, $cabine, $noar, $produtorexecutivo)
{
         $query = "UPDATE relatorio_t SET canal, coordenador = '$canal', ocorrencia = '$coordenador', tipoocorrencia = '$tipoocorrencia', nivelocorrencia = '$nivelocorrencia', observacoes = '$observacoes', evento = '$evento', data = '$data', um = '$um', wo = '$wo', cameras = '$cameras', micro = '$micro', pontosdecamera = '$pontosdecamera', sinal = '$sinal', reporter = '$reporter', cabine = '$cabine', noar = '$noar', produtorexecutivo = '$produtorexecutivo' WHERE id = $iddorelatorio";

        if (mysql_query($query))
       {
            echo "<script>alert('Alterado com sucesso!')</script>";
            echo "<meta http-equiv='refresh' content='0;url=index.php'>";
            return 1;
        }
        else{
            return 0;
        }
    }


Acho que assim, seu codigo deve funcionar.
Responder

09/12/2016

Alex William

Uma dica, coloque sua string da query primeiro numa variavel, depois mande fazer mysql_query, fica melhor:

function EditarDados($iddorelatorio, $canal, $coordenador, $ocorrencia, $tipoocorrencia, $nivelocorrencia, $observacoes, $evento, $data, $um, $wo, $cameras, $micro, $pontosdecamera, $sinal, $reporter, $cabine, $noar, $produtorexecutivo)
{
         $query = "UPDATE relatorio_t SET canal, coordenador = '$canal', ocorrencia = '$coordenador', tipoocorrencia = '$tipoocorrencia', nivelocorrencia = '$nivelocorrencia', observacoes = '$observacoes', evento = '$evento', data = '$data', um = '$um', wo = '$wo', cameras = '$cameras', micro = '$micro', pontosdecamera = '$pontosdecamera', sinal = '$sinal', reporter = '$reporter', cabine = '$cabine', noar = '$noar', produtorexecutivo = '$produtorexecutivo' WHERE id = $iddorelatorio";

        if (mysql_query($query))
       {
            echo "<script>alert('Alterado com sucesso!')</script>";
            echo "<meta http-equiv='refresh' content='0;url=index.php'>";
            return 1;
        }
        else{
            return 0;
        }
    }


Acho que assim, seu codigo deve funcionar.



Desculpe, a query esta errada, essa é a certa:

$query = "UPDATE relatorio_t SET canal =  '$canal', coordenador = '$coordenador', ocorrencia = '$ocorrencia', tipoocorrencia = '$tipoocorrencia', nivelocorrencia = '$nivelocorrencia', observacoes = '$observacoes', evento = '$evento', data = '$data', um = '$um', wo = '$wo', cameras = '$cameras', micro = '$micro', pontosdecamera = '$pontosdecamera', sinal = '$sinal', reporter = '$reporter', cabine = '$cabine', noar = '$noar', produtorexecutivo = '$produtorexecutivo' WHERE id = $iddorelatorio";
Responder

09/12/2016

Daniel Ferreira

Fiz e não funcionou.
Responder

09/12/2016

Daniel Ferreira

O meu codigo do formulario é esse:
<form action="editarrelatorio.php" class="form-horizontal"  method="post">



O do botão alterar é:
<button type="submit" name="relatorio_t.trm" class="btn green">Alterar</button>



Acrescentei a função abaixo conforme conversamos:
function EditarDados($iddorelatorio,$canal,$coordenador,$ocorrencia,$tipoocorrencia,$nivelocorrencia,$observacoes,$evento,$data,$um,$wo,$cameras,$micro,$pontosdecamera,$sinal,$reporter,$cabine,$noar,$produtorexecutivo){

       if("update relatorio_t set canal ='$canal', coordenador ='$coordenador', ocorrencia ='$ocorrencia', tipoocorrencia ='$tipoocorrencia', nivelocorrencia ='$nivelocorrencia', observacoes ='$observacoes', evento ='$evento', data ='$data', um ='$um', wo ='$wo', cameras ='$cameras', micro ='$micro', pontosdecamera ='$pontosdecamera', sinal ='$sinal', reporter ='$reporter', cabine ='$cabine', noar ='$noar', produtorexecutivo ='$produtorexecutivo' where id =$iddorelatorio")){
           echo"<script>alert('Alterado com sucesso!')</script>";
           echo"<meta http-equiv='refresh' content='0;url=index.php'>";
           return1;
       }
       else{
           return0;
       }
   }
Responder

09/12/2016

Daniel Ferreira

Agora minha pagina nao abre...fica toda branca...
USEI O CODIGO ABAIXO...



function EditarDados($iddorelatorio, $canal, $coordenador, $ocorrencia, $tipoocorrencia, $nivelocorrencia, $observacoes, $evento, $data, $um, $wo, $cameras, $micro, $pontosdecamera, $sinal, $reporter, $cabine, $noar, $produtorexecutivo)
		{
 		$query = "UPDATE relatorio_t SET canal =  '$canal', coordenador = '$coordenador', ocorrencia = '$ocorrencia', tipoocorrencia = '$tipoocorrencia', nivelocorrencia = '$nivelocorrencia', observacoes = '$observacoes', evento = '$evento', data = '$data', um = '$um', wo = '$wo', cameras = '$cameras', micro = '$micro', pontosdecamera = '$pontosdecamera', sinal = '$sinal', reporter = '$reporter', cabine = '$cabine', noar = '$noar', produtorexecutivo = '$produtorexecutivo' WHERE id = $iddorelatorio"; 
        if (mysql_query($query))
       {
Responder

11/01/2017

Alex William

Coloca um error_reporting(E_ALL). no começo da pagina, para ver se aparece algo.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar