• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

BoMbEiRo_AtOmIcO

php e mysql ligar 3 tabelas

7 mensagens neste tópico

Olá

Após a normalização da base de dados fiquei com uma tabela que contem as chaves primárias de outras 2 tabelas.

Queria fazer em php uma página que, no mm form, conseguisse inserir registos na 1ª tabela (cuja chave primaria está em auto increment), na 2ª (que também está em auto increment) e usar esses valores das chaves para os inserir na tabela que liga as duas.

Será possível fazer isso no mm form? ja tentei várias soluções e nada. Aparece sem 1-1 na tabela que liga as outras duas... apesar de ja ter vários registos nas outras...

obrigado :)  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

terás de usar a função de php para obter o último valor introduzido nas tabelas. Se, após executares a inserção na primeira tabela usares a função mysql_insert_id() podes saber o valor da chave que foi introduzido.

Podes ver mais sobre essa função no manual do php

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes passar isso po mysql com triggers, mas php era melhor pqausa da performance, mas se nao for uma coisa mto "pesado", tipo projecto academico, usa triggers.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes passar isso po mysql com triggers, mas php era melhor pqausa da performance, mas se nao for uma coisa mto "pesado", tipo projecto academico, usa triggers.

Muito off-topic, mas triggers em MySQL são quase impossíveis de usar, não funcionam correctamente.... enfim quanto mais uso MySQL menos gosto...

Seja como for, se quiseres usar apenas php, podes fazer como indiquei, se quiseres usar triggers, terás de aprender a fazer procedimentos em MySQL, outra coisa que é tão fácil em tantas outras bases de dados e nesta é um martírio.

Nota que isto é a minha opinião sobre o MySQL, e pode ser bastante parcial. Mas de uma ou outra maneira resolves o teu problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes passar isso po mysql com triggers, mas php era melhor pqausa da performance, mas se nao for uma coisa mto "pesado", tipo projecto academico, usa triggers.

Muito off-topic, mas triggers em MySQL são quase impossíveis de usar, não funcionam correctamente.... enfim quanto mais uso MySQL menos gosto...

Seja como for, se quiseres usar apenas php, podes fazer como indiquei, se quiseres usar triggers, terás de aprender a fazer procedimentos em MySQL, outra coisa que é tão fácil em tantas outras bases de dados e nesta é um martírio.

Nota que isto é a minha opinião sobre o MySQL, e pode ser bastante parcial. Mas de uma ou outra maneira resolves o teu problema.

Se tiveres dificuldades a fazer um trigger pede-me ajuda que eu mostro-te um exemplo ja feito. E sim, funcionam!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
E sim, funcionam!

Sim funcionam, mas também fazem parte da lista de bugs do mysql :D

Já tive situações onde simplesmente o trigger não disparava, o que é muito chato ;)

Mas de qualquer uma das forma o problema fica resolvido, seja em php seja recorrendo às opções do motor de base de dados isso dá para fazer bem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
E sim, funcionam!

Sim funcionam, mas também fazem parte da lista de bugs do mysql :D

Já tive situações onde simplesmente o trigger não disparava, o que é muito chato ;)

Mas de qualquer uma das forma o problema fica resolvido, seja em php seja recorrendo às opções do motor de base de dados isso dá para fazer bem.

Sim o MySQL ta cheio de problemas...nao e' k os  checks nao funcionam :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora