Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Estou com um problema que não consegui resolver até o momento.
No meu banco de dados tenho duas tabelas. Uma chamada CLIENTES e outra CONTAS.
Acontece que vários ítens do sistema são atrelados pelo login criado, só que na tabela clientes o login está no campo USUARIO, e na tabela contas como CLIENTE. Alterar o nome do campo já descartei, pois teria de alterar vários nomes atrelados no código em dezenas de arquivos.
Então essa mudanças é feita na página de alteração do cliente. Demais nomes como CPF, Cidade e outros dados trocam na boa, pois tem os mesmo nomes nas tabelas.
Abaixo exemplo como está:
TABELA CLIENTES
$sql_alt = "UPDATE clientes SET nome = '".$_POST['nome']."',usuario = '".$_POST['usuario']."', cpf = '".$_POST['cpf']."', data_nascimento = '".$_POST['data_nascimento']."', sexo = '".$_POST['sexo']."', cidade = '".$_POST['cidade']."', estado = '".$_POST['estado']."', endereco = '".$_POST['endereco']."', complemento = '".$_POST['complemento']."', bairro = '".$_POST['bairro']."', cep = '".$_POST['cep']."', telefone = '".$_POST['telefone']."', celular = '".$_POST['celular']."', senha = '".$_POST['senha']."', email = '" WHERE
TABELA CONTAS
$sql_alt = "UPDATE contas SET nome = '".$_POST['nome']."', cliente = '".$_POST['cliente']."',cidade = '".$_POST['cidade']."', estado = '".$_POST['estado']."', endereco = '".$_POST['endereco']."', complemento = '".$_POST['complemento']."', bairro = '".$_POST['bairro']."', cep = '".$_POST['cep']."', cpf = '".$_POST['cpf']."'
No imput abaixo está assim:
<input name="usuario" type="text" id="usuario" style="font-size: 16px" value="<?php echo $row_usuario['usuario']; ?>" size="30" />
Então quando eu atualizo, ele só atualiza o campo USUARIO na tabela clientes, e não o campo CLIENTE na tabela contas.
Já nos outros inputs não há problemas, pois tem o mesmo nome, e nesse caso atualizam normalmente.
Criar outro input não é a solução, pois os clientes podem acessar, e com isso alteram somente um campo ou mesmo colocam nomes diferentes, isso depois da dor de cabeça.
Queria saber se pelo mesmo input eu conseguiria atualizar os dois campos nessas tabelas diferentes. Não consegui nenhum resultado até agora.
Obrigado a todos que puderem me ajudar.
>
Você tem uma duplicação de informação. Isso viola a primeira forma normal. O campo cliente na tabela contas deve apontar para a chave primária do cliente na tabela clientes.
Ao invés de você ter na tabela contas: "cliente=josé", você terá "cliente=1".
Então não tem como eu conseguir inserir pelo mesmo input? Já estava imaginando. Tenho dr criar dois inputs mesmo, mas tenho de contar com os erros de digitação, pois constantemente digitam errado em dois inputs, nesse caso dando erro nas contas posteriormente.
Alguém conhece algum validador nesse caso para confirmação de dados? Assim crio os dois inputs mesmo, mas com a validação para o cliente digitar duas vezes para ver se os logins batem, já quebra um galhão. Tentei um JS de senha mas não funfou.
Sério que você vai teimar no errado? Já que é assim você pode pesquisar por triggers...
Consegui do jeito que falei. Criei outro input e achei um validador. Agora ele pede a verificação, e é inserido os dados nas duas tabelas..
Abraços.
Você tem uma duplicação de informação. Isso viola a primeira forma normal. O campo cliente na tabela contas deve apontar para a chave primária do cliente na tabela clientes.
Ao invés de você ter na tabela contas: "cliente=josé", você terá "cliente=1".