Ir para conteúdo

POWERED BY:

Arquivado

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

guilherme_182

[Resolvido] Busca Em PHP

Recommended Posts

Bom Dia A Todos

 

Estou tentando fazer uma pagina onde tem uma busca vagas pelo curso escolhido

isso eu ja consegui fazer o problema, é que na hora que aparece as vagas,

na tabela vaga tenho duas chaves estrangeiras"nome_empresa"e "nome_curso"

esses campos estao aparecendo com o codigo.

Gostaria de saber como faco para aparecer inves de aparecer o codigo, aparecer o nome da empresa e o nome do curso

 

como esta meu codigo

 

Descricao: Tecnico

Nome Empresa: 2

Nome Curso: 3

Contato: 323232

======================

como gostaria que ficasse

 

Descricao: Tecnico

Nome Empresa: microsoft

Nome Curso: sistemas de informacao

Contato: 323232

 

segue abaixo meu codigo que lista as vagas

 

<?

$sqlbusca = "SELECT * FROM vaga WHERE nome_curso LIKE '%".$buscar."%' ORDER BY cod_vaga DESC";

 

// Executa a query no Banco de Dados

$querylista = mysql_query($sqlbusca);

 

//Conta quantos registros a minha seleção retornou

if(mysql_num_rows($querylista)>0){

 

// Gera o Loop com os resultados

while($linha = mysql_fetch_array($querylista)) {

echo $linha["descricao"]."<br>";

echo $linha["nome_empresa"]."<br>";

echo $linha["nome_curso"]."<br>";

echo $linha["num_vagas"]."<br>";

echo $linha["requisitos"]."<br>";

echo $linha["beneficios"]."<br>";

echo $linha["periodo"]."<br>";

echo $linha["contato"]."<br>";

echo $linha["data_solicitacao"]."<br>";

echo "<br/><br/>";

}

}else{

// Se não haver registros no banco de dados

echo $linha .= "Nenhum resgistro encontrado";

}

?>

 

 

Se alguem puder me ajudar fico agradecido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai você tem que usar um INNER JOIN se não me engano..

e chamar o campo com um ALIAS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí a dúvida é mais sobre SQL amigo..

Quais tabelas você tem?

 

Tabela: empresa

Tabela: curso

 

Dá uma procurada sobre isso que falei. É algo do tipo:

pseudo código

SELECT nome_curso FROM `tabela` INNER JOIN `curso` AS cur.nome_curso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que o William Bruno colocou nao esta totalmente correto

post aqui a estrutura das duas tabelas com exemplos de dados de cada campo tipo assim

 

Tabela Empresa

Nome | Codigo | ...

Empresa A | 23242| ...

 

e tambem qual campo relaciona as duas tabelas pois ele será usado no INNER JOIN

 

Seria algo como

 

SELECT TAB01.CAMPO1, TAB01.CAMPO2, TAB02.CAMPO1, TAB02.CAMPO2 FROM TAB01 INNER JOIN TAB02 ON TAB01.CAMPO1 = TAB02.CAMPO1

 

MAs para fazer algo definitivo preciso das informações que te pedi da estrutura e exemplos de dados das tabelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia Mario

 

Segue as estruturas das tabelas

 

Tabela Empresa

cod_empresa int(10)

nome_empresa varchar(30)

endereco varchar(50)

telefone varchar(20)

email varchar(30)

area_atuacao varchar(20)

 

Tabela Vaga

cod_vaga int(10)

nome_empresa int(10)

nome_curso int(10)

num_vagas varchar(20)

requisitos varchar(255)

beneficios varchar(50)

periodo varchar(20)

contato varchar(20)

data_solicitacao date

descricao varchar(30)

 

 

campo "nome_empresa" da tabela "vaga" liga com o campo "cod_empresa" da tabela "empresa"

 

Essa é a estrtutura das minhas tabelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao seria algo assim

 

Vou selecionar os campos que destacou no post #1

 

Se desejar outros é so acrescentar depois, nao encontrei onde armazenaria o nome do curso ja que aparentemente o campo com este nome na tabela Vaga seria de um codigo, entao me restringirei aos demais que pertencem a tabelas diferentes entao ja satisfará as estruturas de consulta que tens que aplicar

 

No mais apenas adicione os campos necesarios e de preferencia tente usar nomes de campos mais sugestivos uma vez que os campos "nome_empresa" e "nome_curso" da tabela "vaga" nao possuem nomes e sim codigos e isso pode ate acabar confundindo voce

 

SELECT Empresa.nome_empresa, Vaga.contato, Vaga.descricao FROM Empresa INNER JOIN Vaga ON Empresa.cod_empresa = Vaga.nome_empresa

 

Veja se é isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isso mesmo mas acho que você inverteu mas eu entendi.

 

no meu caso eu queria puxar a tabela empresa pra tabela vaga

 

no seu codigo tah assim

SELECT Empresa.nome_empresa, Vaga.contato, Vaga.descricao FROM Empresa INNER JOIN Vaga ON Empresa.cod_empresa = Vaga.nome_empresa

 

mas eu queria que ficasse assim

 

SELECT Empresa.nome_empresa, Vaga.contato, Vaga.descricao FROM Vaga

INNER JOIN Empresa ON Empresa.cod_empresa = Vaga.nome_empresa

 

seria isso neh?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tanto faz a ordem

 

funcionou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muito obrigado Mesmo Funcionou sim

 

Fiz o select assim:

 

"SELECT * FROM vaga

INNER Join empresa ON empresa.cod_empresa = vaga.nome_empresa

WHERE nome_curso LIKE '%".$buscar."%' ORDER BY cod_vaga DESC";

 

se eu quiser colocar mais uma tabela ficaria assim:?

 

 

"SELECT * FROM vaga

INNER Join empresa, curso

ON empresa.cod_empresa = vaga.nome_empresa, curso.cod_curso = vaga.nome_curso

WHERE nome_curso LIKE '%".$buscar."%' ORDER BY cod_vaga DESC";

 

Muito obrigado novamente a ajuda de vcs, fico agradecido ate +

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao

 

Tem qeu adicionar outro INNER JOIN

 

Tipo assim

 

"SELECT * FROM (vaga INNER Join empresa ON empresa.cod_empresa = vaga.nome_empresa) INNER JOIN curso ON curso.cod_curso = vaga.nome_curso
WHERE nome_curso LIKE '%".$buscar."%' ORDER BY cod_vaga DESC";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom

 

Fico feliz

 

Parabens

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.