Ir para conteúdo

POWERED BY:

Arquivado

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

depaulatec

Tabela composta com crud php

Recommended Posts

Ola amigos tenho as seguintes duvidas:

 

Tenho um formulario onde o usuario pode preencher ate 2 contatos (tel) porem so um deles é obrigatorio, para nao criar uma coluna no banco de dados (tel2) pois tendo em vista que o segundo tel é opcional a coluna vai ficar com alguns campos nulos. E dentro do meu pequeno conhecimento muitos campos nulos deixara a pesquisa no banco mais lenta. então pensei um criar um relacionamento no banco de dados entre duas tabelas sendo que a segunda tabela é para armazenar apenas o segundo telefone.

 

Minha primeira dúvida: é na criação do relacionamento ate onde estudei as duas colunas que fazem parte da relação (foreign key)

tem que ser do mesmo tipo e mesmo tamanho. Porem esta dando esse erro:

SQL ERROR 1215 RESPONSE FROM THE DATABASE CANNOT ADD FOREIGN KEY CONSTRAINT

 

O exemplo sql ém sql nao faz referencia ao telefone do form mais é o mesmo ponto que quero chegar:

 

as duas colunas em questao sao: cod_cid (da tabela clientes) e id_cid (da tabela cidades) ambos sao not nulls, int, tamanho 5.

 

 

MInha segunda duvida é referente ao crud:

 

Eu ja fiz um crud com um form simples e deu tudo certo, mas não faço a minima ideia de como fazer com uma tabela composta pois para inserir os dados na primeira tabela eu posso colocar so segundo telefone NULL tendo em vista que ele é not null no banco. Mas na hora de enviar apenas o telefone2 para segunda tabela e os outros campos nao são not null então nao posso colocar NUUL no script php.

 

Peço desculpas se causei confusão nas explicação ou cometi algum erro tenho apena 6 meses de progamação.

Quem puder ajudar agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem noção que vc está repetindo informações no seu banco colocando dois campos com mesma finalidade em tabelas diferentes? Coloque os telefones em uma tabela a parte (todos) permita que o usuário possa adicionar quantos telefones desejar (faz com javascript) receba o telefone como array e crie um faço de repetição que para cada telefone executa um insert na tabela telefone, quanto ao campo de telefone você coloca como required true no input ou se quiser assegurar tem javascript que te ajuda, dessa forma o usuário só é obrigado a preecher o primeiro telefone e se quiser um outro campo telefone ele clica em adicionar outro. Funciona da mesma forma, ao invez de fazer com tabela faça com o campo input ;) http://webdevacademy.com.br/tutoriais/javascript-ajax/adicionar-linhas-tabela-jquery/

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.