Ir para conteúdo

POWERED BY:

Arquivado

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

Bete_elisa

fazer select usando 2 tabelas do meu banco

Recommended Posts

Queria saber como fazer select usando 2 tabelas do meu banco. E que a comparação me traga dentro de um while as opções para serem marcadas com o checkbox. vou colocar um trecho:


     <?php 
$sel=mysql_query("select * from tblocacao, tbmaterial where tblocacao.status <> tbmaterial.status and tblocacao.turno <> '".$turno."' and tblocacao.dia <> '".$dia."' and tblocacao.mes <> '".$mes."' and tblocacao.ano <> '".$ano."'and tblocacao.horario <> '".$horario."'");

while($linha=mysql_fetch_array($sel)){
?> 

    <tr> 
    <td><input type="checkbox" name="equipamento[]" value="<?php echo $linha['nome']; ?>" /></td>
          <td><?php echo $linha['nome'];?></td>

        </tr>


   <?php 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde senhorita,

 

Qual a relação entre as duas tabelas? Poste a estrutura das mesmas e os campos que deseja selecionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso? a relação é entre status

 

-- Estrutura da tabela `tblocacao`
--

CREATE TABLE IF NOT EXISTS `tblocacao` (
 `codigo` int(5) NOT NULL AUTO_INCREMENT,
 `equipamento` varchar(30) NOT NULL,
 `sala` varchar(20) NOT NULL,
 `horario` varchar(5) NOT NULL,
 `turno` varchar(20) NOT NULL,
 `dia` varchar(2) NOT NULL,
 `mes` varchar(2) NOT NULL,
 `ano` varchar(4) NOT NULL,
 `professor` varchar(20) NOT NULL,
 `status` varchar(20) NOT NULL,
 PRIMARY KEY (`codigo`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=143 ;



-- Estrutura da tabela `tbmaterial`
--

CREATE TABLE IF NOT EXISTS `tbmaterial` (
 `codigo` int(5) NOT NULL AUTO_INCREMENT,
 `nome` varchar(30) NOT NULL,
 `numero` int(5) NOT NULL,
 `dia_aquisicao` varchar(2) NOT NULL,
 `mes_aquisicao` varchar(2) NOT NULL,
 `ano_aquisicao` varchar(4) NOT NULL,
 `status` varchar(20) NOT NULL,
 `observacao` varchar(50) NOT NULL,
 PRIMARY KEY (`codigo`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você entende por relação entre as tabelas? Eu estou me referindo a chave estrangeira em uma das tabelas que vem da chave primária da outra.

 

Se não houver relação não vejo porque não pode ser 2 SELECTs separados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu "chefe" é um programador e me deu ordens de não usar foreing key.

Por isso não posso alterar as tabelas, eu queria uma solução para o meu problema que não haja necessidade de alterar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo, tudo bem.

 

Especifique o que você precisa então, porque uma tabela precisa da outra, e podemos pensar na solução do problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- seu chefe eh um ... e a tabela esta construida totalmente errada, desde tipos inadequados até a falta de index no ponto de juncao

 

2- se realmente as tabelas se relacionam por status, entao...

 

 

<?php

 

$sql =

"

select * from tblocacao, tbmaterial

where tblocacao.status = tbmaterial.status

and tblocacao.turno = '.$turno.'

and tblocacao.dia = '.$dia.'

and tblocacao.mes = '.$mes.'

and tblocacao.ano = '.$ano.'

and tblocacao.horario = '.$horario.'

";

 

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

?>

 

<tr>

<td><input type="checkbox" name="equipamento[]" value="<?php echo $linha['nome']; ?>" /></td>

<td><?php echo $linha['nome'];?></td>

 

</tr>

 

 

<?php

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.