Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modificar apenas um registro no MySQL

09-03-2011 11:43

Quando fazemos um UPDATE no MySQL para alterar um registro, devemos observar que devemos ter um condicional para não alterar todos os registros da tabela, ao invés do desejado.

A query correta para alterar somente um registro do MySQL é

UPDATE suatabela SET seucampo='esse valor' WHERE essecampo='essevalor'

Observe que coloquei em negrito a condicional, ou seja, essa parte é a que vai diferenciar esse registro específico dos outros.

Geralmente, colocamos na condicional sempre o campo id, porque geralmente as tabelas tem um campo id com auto increment, o que faz esse campo ser único. Sendo assim, use com base sempre esse campo

WHERE id='$id'
1
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166

Modificar apenas um registro no MySQL

14-04-2011 10:13

Aproveitando a deixa, tem como por exemplo em uma tabela tenho 5 campos id, nome, telefone, endereço, email. Quando eu abro o formulário de alteração, eu deseja apenas alterar o email, quando clicar para enviar a função de update será:

UPDATE usuario SET email='".$cadEmail."' WHERE id='".$id."';

, ou se quiser alterar o email e endereço será de

UPDATE usuario SET endereco='".cadEndereco."', email='".$cadEmail."' WHERE id='".$id."';


e assim por diante com o update pegando apenas o que foi realmente alterado no formulário.

Eu percebi que isso acontece no phpmyadmin, mas não consigo por em pratica.

abçs
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modificar apenas um registro no MySQL

14-04-2011 13:01

Todos os campos passíveis de edição vão vir preenchidos, correto? Então, mesmo se o usuário não alterar determinado campo "alterar o valor", a informação vai continuar a mesma.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166

Modificar apenas um registro no MySQL

14-04-2011 13:20

Correto, mas se o usuario alterar apenas o um campo, queria que o update apenas constasse o campo a ser alterado, tem como?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modificar apenas um registro no MySQL

14-04-2011 13:31

Veja pelo seguinte ponto. Todos os campos vão ser carregados com valores já do banco de dados. Como vai saber se o usuário alterou esse valor? A lógica seria alterar todos os campos editáveis, inputs e textareas. Porque se o usuário não alterar o valor, o update deixa o valor que já estava.
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modificar apenas um registro no MySQL

14-04-2011 16:40

Se você colocar um identificador que aquele campo foi alterado, por exemplo, se todos os campos estiverem vazios, dá para identificar um campo que foi preenchido, e fazer o UPDATE relativo a esse campo. Ou, se marcar por exemplo um input text ao lado do campo que está sendo alterado.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado