Ir para conteúdo

POWERED BY:

Arquivado

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

Ljrbrasil

Salvando o Editar

Recommended Posts

pessoal alguém pode me dizer onde é o erro?? quando edito uma linha ele salva editando todas as linhas do BD.

 

 

 

<?php

include("conecta.php");
$conexao = @mysql_connect($hostname, $username, $senha) or die("Nao foi possivel conectar no servidor MySQL. Erro: " . mysql_error());
//pegando variáveis
$id = $_POST['id'];
$razao = $_POST ['razao'];
$cnpj = $_POST ['cnpj'];
$checkout = $_POST ['checkout'];
$top = $_POST ['top'];
$pgondola = $_POST ['pgondola'];
$recchb = $_POST ['recchb'];
$promotor = $_POST ['promotor'];
$data = $_POST ['data'];
$hora = strftime('%H:%M:S');
$observacao = $_POST ['observacao'];
$produto1 = $_POST ['produto1'];
$produto2 = $_POST ['produto2'];
$produto3 = $_POST ['produto3'];
$produto4 = $_POST ['produto4'];
$produto5 = $_POST ['produto5'];
$produto6 = $_POST ['produto6'];
$produto7 = $_POST ['produto7'];
$produto8 = $_POST ['produto8'];
$produto9 = $_POST ['produto9'];
$produto10 = $_POST ['produto10'];
$produto11 = $_POST ['produto11'];
$produto12 = $_POST ['produto12'];
$produto13 = $_POST ['produto13'];
$produto14 = $_POST ['produto14'];
$produto15 = $_POST ['produto15'];
$produto16 = $_POST ['produto16'];
$produto17 = $_POST ['produto17'];
$produto18 = $_POST ['produto18'];
if(!$conexao)
mysql_select_db($banco, $conexao) or die("Nao foi possivel usar o banco de dados. Erro: " . mysql_error());
$banco = mysql_select_db("base");
$sql = "UPDATE
base
SET
razao='$razao',
cnpj='$cnpj',
checkout='$checkout',
top='$top',
pgondola='$pgondola',
recchb='$recchb',
promotor='$promotor',
data='$data',
hora='$hora',
observacao='$observacao',
produto1='$produto1',
produto2='$produto2',
produto3='$produto3',
produto4='$produto4',
produto5='$produto5',
produto6='$produto6',
produto7='$produto7',
produto8='$produto8',
produto9='$produto9',
produto10='$produto10',
produto11='$produto11',
produto12='$produto12',
produto13='$produto13',
produto14='$produto14',
produto15='$produto15',
produto16='$produto16',
produto17='$produto17',
produto18='$produto18';
WHERE
id = '{$_GET['id']}'"; //echo "<pre>"; echo $sql; exit();
$resultado = mysql_query($sql);
if(!$resultado) die ("Não foi possível realizar a consulta ao banco de dados");
echo "<script>alert('Venda Editada com Sucesso')</script> <script>window.location='listar.php';</script>";
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você colocou todos os campos no UPDATE. Se quiser editar apenas alguns, coloque apenas os que deseja alterar

 

 

ps: Seu sistema está vulnerável a SQL Injection, com esse $_GET['id'] direto na query

 

 

ps 2: funções mysql_* estão obsoletas desde o PHP 5.5 e serão removidas do PHP em breve. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um simples exemplo:

 

 

$campos = [
    'nome' => 'novo nome',
    'email' => '', // vazio == não alterado
    'telefone' => '',
    'cidade' => 'nova_cidade' 
];

$alterados = [];
foreach ( $campos as $campo => $valor )
{
    if ( ! empty( $valor ) )
    {
        $alterados[] = sprintf( "%s = '%s'", $campo, $valor );
    }
}
$sql = "UPDATE tabela SET " . implode( ', ', $alterados );
var_dump( $sql );

 

Saída:

 


string(60) "UPDATE tabela SET nome = 'novo nome', cidade = 'nova_cidade'"

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.