Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal,
Desculpe se o titulo não foi muito específico.... mas ta complicado até de resumir eheheh.
Estou com um problemão, é o seguinte, fiz um sisteminha de cadastro de funcionários (mysql), funciona assim:
O funcionário é cadastrado através de um formulário, as informações basicas do funcionário fica na tabela [funcionarios]
-----------------------------------------------------------------
[table funcionarios]
id
nome
rg
cpf
cpts
dnasc
sexo
id_atribuicao
observacoes
-----------------------------------------------------------------
Além desta ainda há estas outras tabelas de informações adicinais:
-----------------------------------------------------------------
[table atribuicoes]
id
id_func
data1
data2
setor
cargo
id_funcao
-----------------------------------------------------------------
[table funcoes]
id
funcao
descricao
-----------------------------------------------------------------
O objetivo é cadastrar diversas funcoes, e quando for cadastrar um funcionário será necessário apenas selecionar a funcao num menu <select>, para cadastrar tudo bem, mas o problema esta em exibir estas informações.
Estou com problemas para fazer a relação entre as tabelas.... to quebrando a cabeça mas nao estou conseguindo...
Um funcionario pode ter mais de uma atribuicao e cada atribuicao pode ter relacao com qualquer funcao.
Faço a seguinte relação.
[table funcionarios] [table atribuicao] idid --------------------------------------->>>>> id_funcnome data1rg data2cpf setorcpts cargo [table funcoes]dnasc id_funcao--------------------->>>>> id sexo funcaoid_atribuicao descricaoobservacoes
Beleza, até ai normal, assim faço um recort set buscando todas as atribuições deste funcionario;
//RS da tabela [atribuicao]$idfuncionario = "0";if (isset($_GET['idf'])) { $$idfuncionario = (get_magic_quotes_gpc()) ? $_GET['idf'] : addslashes($_GET['idf']);}mysql_select_db($database_conn, $conn);$query_rsAtribuicao = sprintf("SELECT * FROM atribuicao WHERE id_func=%s", $idfuncionario);$rsAtribuicao = mysql_query($query_rsAtribuicao, $conn) or die(mysql_error());$row_rsAtribuicao = mysql_fetch_assoc($rsAtribuicao);$totalRows_rsAtribuicao = mysql_num_rows($rsAtribuicao);
Beleza, é listado apenas as atribuicoes deste funcionario, faço um do...while e listo elas, por ordem de ID por exemplo. Agora preciso listar apenas as funçoes de cada uma das atribuicoes listadas.
Esse é o problema, não estou conseguindo por que a tabela [funcoes] nao pode ter referencia com a tabela [atribuicao], só ao contrario ([atribuicao] >> [funcoes]) atraves do 'id_funcao'.
Supondo que um funcionario ([id=1]) tem 2 atribuicoes, relacionadas com 2 funcoes diferentes.
[table atribuicoes]id id_func id_funcao1 2 22 2 3beleza, há 5 funcoes cadastradas:
[table funcoes]id funcao descricao12345
Como faço para listas apenas as funcoes referentes a cadas atribuição?
Não estou conseguido... :huh:
No recort set das funcoes como posso adicionar um filtro se a tabela [funcoes] nao tem relaçao nem com a tabela [funcionarios] nem com a [atribuicoes]... fods.
No momento de exibir as atribuições posso aproveitar o do...while para fazer um recort set para cada atribuição listada.... mas isso parece horrivel... deve haver um maneiro melhor...
Imagina.... vou ter que fazer ate um while para o 'mysql_free_result' no final da pagina..... meu deus.
:blink:
Se alguem souber de algo que funcione parecido, ou tiver alguma dica que ajude, por favor eheheh, ta fods.
Valeu pessoal.
Carregando comentários...