Ir para conteúdo
Fórum Script Brasil
  • 0

relacionamento de tabelas em php


acborba

Pergunta

Pessoal tenho duas tabelas:

tb_pergunta:

idPergunta (pk)

idGrupo (fk)

pergunta

ativa

data

tb_grupo:

idGrupo (pk)

grupo

Pegunta: Como faço para relacionar essas duas tabelas em php sendo que no banco já foi criado? Por exemplo: eu crio um grupo (biblioteca) em seguida as perguntas relacionadas a esse grupo. Depois crio um novo grupo e em seguida as perguntas relacionadas a esse grupo assim por diante... já tentei de tudo mas até agora nada!

alguém pode me dar uma mao??? por favor

Editado por Denis Courcy
Modificação no subtítulo para melhor esclarecimento da dúvida do usuário
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Aqui estou verificando se o grupo já exsite e inserindo.

<?
include "conexao.inc";

$g=$_GET['grupo'];

$resultado_grupo=mysql_query("SELECT * FROM grupo WHERE grupo='$g'");
$reg=mysql_num_rows($resultado_grupo);

if($reg < 1){
$inserir_grupo=mysql_query("INSERT INTO grupo VALUES(idGrupo,'$g')");
$r=mysql_query("SELECT idGrupo FROM grupo")
}

else{ ?>

<script>
alert("Grupo já cadastrado!")
location="cadastro_questionario1.php"
</script>
<? 
}
Aqui estou inserindo a pergunta:
$inserir_pergunta=mysql_query("INSERT INTO pergunta VALUES(idPergunta,idGrupo,'$p','$ativa','$dat')");

Link para o comentário
Compartilhar em outros sites

  • 0

Depois de muito pesquisa me sugeriram um trigger, isso resolveria o meu problema??

Criei esta trigger mas parou de inserir na tabela grupo, apenas na tabela pergunta é feita a inserção.

CREATE TRIGGER inserir

BEFORE INSERT ON grupo FOR EACH ROW

INSERT pergunta SET grupo.idGrupo = pergunta.idGrupo;

Link para o comentário
Compartilhar em outros sites

  • 0

SELECT * FROM grupo g 
INNER JOIN tb_pergunta p ON g.idGrupo = p.idGrupo

As cláusulas WHERE, GROUP BY e ORDER BY entram normalmente, logo após a instrução acima.

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade o seu código faz um select eu precisava inserir algumas perguntas relacionadas ao grupo (novo ou já cadastrado listado em um combo).

SELECT * FROM grupo g 
INNER JOIN tb_pergunta p ON g.idGrupo = p.idGrupo

As cláusulas WHERE, GROUP BY e ORDER BY entram normalmente, logo após a instrução acima.

Eu tenteni algo assim sem trigger mas não funcionou.

<?

include "conexao.inc";

$g=$_GET['grupo'];

$resultado_grupo=mysql_query("SELECT * FROM grupo WHERE grupo=$g'");

$reg=mysql_num_rows($resultado_grupo);

if($reg < 1){

$inserir_grupo=mysql_query("INSERT INTO grupo VALUES(idGrupo,'$g')");

}

else{ ?>

<script>

alert("Grupo já cadastrado!")

location="cadastro_questionario1.php"

</script>

<?

}

$p=$_GET['pergunta];

$p2=$_GET['pergunta2'];

$s=mysql_query("SELECT MAX(idGrupo) FROM grupo");

$inserir_pergunta=mysql_query("INSERT INTO pergunta VALUES(idPergunta,'$s','$p','$ativa','$dat')");

if ($p2!=''){

$inserir_pergunta=mysql_query("INSERT INTO pergunta VALUES(idPergunta,idGrupo,'$p2','$ativa','$dat')");

}

?>

Editado por acborba
Link para o comentário
Compartilhar em outros sites

  • 0

Já estou 1 mes nisso e nada! :huh:

Eu quero fazer o seguinte:

tb_grupo:

idGrupo (pk) - 012

grupo - biblioteca

tb_pergunta:

idPergunta (pk) - 001

idGrupo (fk) - 012

pergunta - O que você acho do acervo?

ativa - 1

data - 2008/12/29

Só isso! alguém pode me dar uma luz. Estou usando php e mysql.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'acborba'

Agora que você esclareceu o que queria, neste seu último post, e, com base na instrução que você colocou no segundo post, que repito abaixo

$inserir_pergunta=mysql_query("INSERT INTO pergunta VALUES(idPergunta,idGrupo,'$p','$ativa','$dat')");
tente fazer assim:
INSERT INTO pergunta (idPergunta, idGrupo, pergunta, ativa, data)
VALUES (varidPergunta, varidGrupo, varpergunta, varativa, vardata)

Como não sei nada de PHP, Substitua os nomes das variáveis que começam por var pelos nomes das suas variábveis.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...