Ir para conteúdo

POWERED BY:

Arquivado

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

Jow Xavier

[Resolvido] Alterar um campo em uma tabela e alterar em todas

Recommended Posts

Boa tarde gostaria de saber como fazer, q ao alterar um campo esse campo mudar em todos os outros ... exemplo

 

pagina 1, cadastro o cliente

pagina 2, uso o cliente cadastrado ... Mas imagine q na página 2, eu faça o cadastro deste cliente ... mas por algum motivo o usuário faça a alteração do cliente na página 1, como eu faço para q eu tenha o cliente atualizado na página 2 ... ou seja sempre ter o cliente cadastrado atualizado ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa alteração será simultânea? Se for isso mesmo que entendi, você terá que usar Ajax para atualizar sem dar "refresh".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara como q eu faço usando AJAX ??? estava pesquisando e axo q essa minha dúvida é em relação a relacionamento de tabelas cara ... se for isso pode fechar esse tópico, qvou dar uma pesquisada sobre relacionamento de tabelas ...mas se tiver como resolver com AJAX e você souber resolver vai ajudar muito .... Abraçossss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew

 

Eu te persigo neh cara

heuaheu

 

olha soh o melhor geito de atualizar varias tabelas qunado uma delas é altera é fazendo isso pelo banco atraves de triggers

elas sao como uma funcao que pode disparar nos eventos: insert,update,dalete

ai você escolhe os eventos e programa elas

 

vlw ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

como estão as estruturas das tabelas?

 

elas nao sao relacionadas?

 

porque atualizar varias vezes o mesmo valor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a solução do Adelar lhe servir, entendi errado o seu problema... então não será com Ajax.

 

Entendi que você teria dois formulários abertos por usuários diferentes e se um deles atualizasse, você queria que o outro formulário fosse atualizado também...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew

 

Eu te persigo neh cara

heuaheu

 

olha soh o melhor geito de atualizar varias tabelas qunado uma delas é altera é fazendo isso pelo banco atraves de triggers

elas sao como uma funcao que pode disparar nos eventos: insert,update,dalete

ai você escolhe os eventos e programa elas

 

vlw ae

Cara como eu faço isso ... Isso resolveria o meu problema

 

 

como estão as estruturas das tabelas?

 

elas nao sao relacionadas?

 

porque atualizar varias vezes o mesmo valor?

 

Então Mário a estrutura das tabela está assim:

 

CREATE TABLE `clientes` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `razao_social` varchar(250) collate latin1_general_ci NOT NULL,
  `nome_fantasia` varchar(150) collate latin1_general_ci NOT NULL,
  `endereco_cliente` varchar(150) collate latin1_general_ci NOT NULL,
  `numero_cliente` varchar(15) collate latin1_general_ci NOT NULL,
  `complemento_cliente` varchar(150) collate latin1_general_ci NOT NULL,
  `bairro_cliente` varchar(100) collate latin1_general_ci NOT NULL,
  `cidade_cliente` varchar(150) collate latin1_general_ci NOT NULL,
  `uf_cliente` varchar(10) collate latin1_general_ci NOT NULL,
  `cep_cliente` varchar(15) collate latin1_general_ci NOT NULL,
  `endereco_corr` varchar(100) collate latin1_general_ci NOT NULL,
  `numero_corr` varchar(100) collate latin1_general_ci NOT NULL,
  `complemento_corr` varchar(100) collate latin1_general_ci NOT NULL,
  `bairro_corr` varchar(100) collate latin1_general_ci NOT NULL,
  `cidade_corr` varchar(100) collate latin1_general_ci NOT NULL,
  `uf_corr` varchar(10) collate latin1_general_ci NOT NULL,
  `cep_corr` varchar(15) collate latin1_general_ci NOT NULL,
  `site_cliente` varchar(100) collate latin1_general_ci NOT NULL,
  `cnpj` varchar(100) collate latin1_general_ci NOT NULL,
  `i_estadual` varchar(100) collate latin1_general_ci NOT NULL,
  `ddd_tel` varchar(4) collate latin1_general_ci NOT NULL,
  `telefone` varchar(10) collate latin1_general_ci NOT NULL,
  `ramal` varchar(4) collate latin1_general_ci NOT NULL,
  `ddd_tel1` varchar(4) collate latin1_general_ci NOT NULL,
  `telefone1` varchar(10) collate latin1_general_ci NOT NULL,
  `ramal1` varchar(4) collate latin1_general_ci NOT NULL,
  `ddd_tel2` varchar(4) collate latin1_general_ci NOT NULL,
  `telefone2` varchar(10) collate latin1_general_ci NOT NULL,
  `ramal2` varchar(4) collate latin1_general_ci NOT NULL,
  `ddd_fax` varchar(4) collate latin1_general_ci NOT NULL,
  `fax` varchar(15) collate latin1_general_ci NOT NULL,
  `nome_contato` varchar(250) collate latin1_general_ci NOT NULL,
  `ddd_tel_contato` varchar(10) collate latin1_general_ci NOT NULL,
  `telefone_contato` varchar(10) collate latin1_general_ci NOT NULL,
  `ddd_cel_contato` varchar(10) collate latin1_general_ci NOT NULL,
  `celular_contato` varchar(10) collate latin1_general_ci NOT NULL,
  `email_contato` varchar(150) collate latin1_general_ci NOT NULL,
  `email_contato_sec` varchar(150) collate latin1_general_ci NOT NULL,
  `niver_dia` varchar(2) collate latin1_general_ci NOT NULL,
  `niver_mes` varchar(2) collate latin1_general_ci NOT NULL,
  `niver_ano` varchar(4) collate latin1_general_ci NOT NULL,
  `nome_contato1` varchar(250) collate latin1_general_ci NOT NULL,
  `ddd_tel_contato1` varchar(15) collate latin1_general_ci NOT NULL,
  `telefone_contato1` varchar(15) collate latin1_general_ci NOT NULL,
  `ddd_cel_contato1` varchar(15) collate latin1_general_ci NOT NULL,
  `celular_contato1` varchar(15) collate latin1_general_ci NOT NULL,
  `email_contato1` varchar(150) collate latin1_general_ci NOT NULL,
  `email_contato_sec1` varchar(150) collate latin1_general_ci NOT NULL,
  `niver_dia1` varchar(2) collate latin1_general_ci NOT NULL,
  `niver_mes1` varchar(2) collate latin1_general_ci NOT NULL,
  `niver_ano1` varchar(4) collate latin1_general_ci NOT NULL,
  `nome_contato2` varchar(250) collate latin1_general_ci NOT NULL,
  `ddd_tel_contato2` varchar(15) collate latin1_general_ci NOT NULL,
  `telefone_contato2` varchar(15) collate latin1_general_ci NOT NULL,
  `ddd_cel_contato2` varchar(15) collate latin1_general_ci NOT NULL,
  `celular_contato2` varchar(15) collate latin1_general_ci NOT NULL,
  `email_contato2` varchar(150) collate latin1_general_ci NOT NULL,
  `email_contato_sec2` varchar(150) collate latin1_general_ci NOT NULL,
  `niver_dia2` varchar(2) collate latin1_general_ci NOT NULL,
  `niver_mes2` varchar(2) collate latin1_general_ci NOT NULL,
  `niver_ano2` varchar(4) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=35;


CREATE TABLE `compromissos` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `data` date NOT NULL,
  `nome` varchar(100) collate latin1_general_ci NOT NULL,
  `cliente` varchar(100) collate latin1_general_ci NOT NULL,
  `outros` varchar(200) collate latin1_general_ci NOT NULL,
  `detalhe` longtext collate latin1_general_ci NOT NULL,
  `local` varchar(100) collate latin1_general_ci NOT NULL,
  `hora` varchar(100) collate latin1_general_ci NOT NULL,
  `box` longtext collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1;

 

Essas tabelas ñ estão relacionandas, como o meu banco de dados é MySql para relacionar preciso alterar

de MyISAM para InnoDB certo? ñ sei como fazer o relacionamento das tabelas ...

 

Os valores eu ñ irei atualizar várias vezes, é pq me deparei com a seguinte situação, tenho 10 projetos

cadastrados para um cliente, mas este cliente mudou a sua razão social, para ñ ter q alterar 10 vezes os

projetos, alteraria apenas a razão social no cadastro do cliente ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew

 

ei você tem como me explicar melhor como que você quer fazer pq dependendo da forma você nao precisa usar triggers e sim apenas relacionar as tabelas na hora da consulta

 

vlw ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew

 

ei você tem como me explicar melhor como que você quer fazer pq dependendo da forma você nao precisa usar triggers e sim apenas relacionar as tabelas na hora da consulta

 

vlw ae

Bom dia, acontece um seguinte eu tenho uma cadastro de clientes, e um cadastro de projetos neste cadastro de projetos eu seleciono um cliente q é cadastrado no cadastro de clientes ... imagine q eu tenha 10 projetos cadastrados para um cliente, mas por alguma razão o cliente mudou a sua razão social ... para ñ ter q alterar o nome do cliente nos 10 projetos cadastrados, preciso alterar apenas o nome do cliente no cadastro de clientes e assim alterar o cliente cadastrado na tabela de projetos ...

 

Dei uma pesquisada na net sobre triggers e tbm sobre relacionamento de tabelas e ñ entendi como funciona ... aliás nem sei o q resolveria o meu caso ... Por isso preciso preciso da ajuda de vcs !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew

 

Analizando assim você não precisa disso tudo nao

xD

 

pode simplesmente fazer assim

 

na tabela cliente existe o codigo dele certo?

 

ai na tabela de projetos tambem existe o codigo do cliente para saber a qual cliente ele pertence certo?

 

partindo do presuposto que a razao social do cliente esta apenas na tabela cliente você nao precisa alterar en todas você simplesmente faz o seguinte:

 

SELECT P.cd_cliente,C.no_cliente
FROM Projetos as P
LEFT OUTER JOIN Cliente as C on P.cd_cliente=C.cd_cliente
WHERE P.cd_projeto=1

 

nesse exemplo você ira pegar da tabela projeto o codigo do cliente e com esse codigo ira pegar o nome dele com base na tabela cliente onde o codigo do projeto é 1

 

deu +- para intender??

 

Vlw ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso mesmo a idéia ... então eu ñ tinha o cod do cliente na tabela projeto, mas já providenciei isso hehehehe ...

 

na minha tabela projetos o meu código é o campo id e o código do cliente é o campo cliente

já na minha tabela clientes o meu código é o campo id ... Como eu devo adaptar neste código ??

 

SELECT P.cd_cliente,C.no_cliente

FROM Projetos as P

LEFT OUTER JOIN Cliente as C on P.cd_cliente=C.cd_cliente

WHERE P.cd_projeto=1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother fiz assim, e funcionou quase perfeito, o prefeito seria se tbm mostrasse os dados da tabela projetos ...

 

sql = "SELECT P.cliente,C.nome_fantasia FROM projetos as P LEFT OUTER JOIN clientes as C on P.cliente=C.id WHERE P.cliente=36 "
set tab = cnn.execute(sql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana Jow.

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.