Select em tabelas diferentes
Boa noite pessoal,
Estou montando um sistema de busca, porem preciso separa-lo para buscar o resultado em tabelas diferentes, caso o meu select tenho um valor busque em tal tabela, caso tenha outro em outra.
Tentei um if para resolver (que e assim que faço normalmente, porem ele para de funcionar a busca se eu coloco um IF)
<?php
if(isset($_POST)){
include_once "config.php";
$retorno = array();
$retorno['status'] = 0;
$retorno['conteudo'] = '';
switch($_POST['opcao']){
case 'seguimento':
//pego o fabricante
$seguimento = strip_tags(trim(filter_input(INPUT_POST, 'seguimento', FILTER_SANITIZE_STRING)));
$pegaFabricante = $pdo->prepare("SELECT * FROM `busca` WHERE `seguimento` = ? GROUP BY `fabricante`");
$pegaFabricante->execute(array($seguimento));
if($pegaFabricante->rowCount() == 0){
$retorno['status'] = 0;
}else{
$retorno['status'] = 1;
$retorno['conteudo'] .= '<option value="" selected>Selecione o fabricante</option>';
while($fabricante = $pegaFabricante->fetchObject()){
$retorno['conteudo'] .= '<option value="'.utf8_encode($fabricante->fabricante).'">'.utf8_encode($fabricante->fabricante).'</option>';
}
}
break;
case 'fabricante':
//pego o veiculo
$seguimento = strip_tags(trim(filter_input(INPUT_POST, 'seguimento', FILTER_SANITIZE_STRING)));
$fabricante = strip_tags(trim(filter_input(INPUT_POST, 'fabricante', FILTER_SANITIZE_STRING)));
$pegaVeiculo = $pdo->prepare("SELECT * FROM `busca` WHERE `seguimento` = ? AND `fabricante` = ? GROUP BY `modelo`");
$pegaVeiculo->execute(array($seguimento, $fabricante));
if($pegaVeiculo->rowCount() == 0){
$retorno['status'] = 0;
}else{
$retorno['status'] = 1;
$retorno['conteudo'] .= '<option value="" selected>Selecione o veículo</option>';
while($veiculo = $pegaVeiculo->fetchObject()){
$retorno['conteudo'] .= '<option value="'.utf8_encode($veiculo->modelo).'">'.utf8_encode($veiculo->modelo).'</option>';
}
}
break;
case 'veiculo':
//pego o motor
$seguimento = strip_tags(trim(filter_input(INPUT_POST, 'seguimento', FILTER_SANITIZE_STRING)));
$fabricante = strip_tags(trim(filter_input(INPUT_POST, 'fabricante', FILTER_SANITIZE_STRING)));
$veiculo = strip_tags(trim(filter_input(INPUT_POST, 'veiculo', FILTER_SANITIZE_STRING)));
$pegaMotor = $pdo->prepare("SELECT * FROM `busca` WHERE `seguimento` = ? AND `fabricante` = ? AND `modelo` = ? GROUP BY `motor`");
$pegaMotor->execute(array($seguimento, $fabricante, $veiculo));
if($pegaMotor->rowCount() == 0){
$retorno['status'] = 0;
}else{
$retorno['status'] = 1;
$retorno['conteudo'] .= '<option value="" selected>Selecione o motor</option>';
while($motor = $pegaMotor->fetchObject()){
$retorno['conteudo'] .= '<option value="'.utf8_encode($motor->motor).'">'.utf8_encode($motor->motor).'</option>';
}
}
break;
case 'motor':
//retorna o que selecinou
$seguimento = strip_tags(trim(filter_input(INPUT_POST, 'seguimento', FILTER_SANITIZE_STRING)));
$fabricante = strip_tags(trim(filter_input(INPUT_POST, 'fabricante', FILTER_SANITIZE_STRING)));
$veiculo = strip_tags(trim(filter_input(INPUT_POST, 'veiculo', FILTER_SANITIZE_STRING)));
$motor = strip_tags(trim(filter_input(INPUT_POST, 'motor', FILTER_SANITIZE_STRING)));
$pegaAutomovel = $pdo->prepare("SELECT * FROM `busca` WHERE `seguimento` = ? AND `fabricante` = ? AND `modelo` = ? AND `motor` = ?");
$pegaAutomovel->execute(array($seguimento, $fabricante, $veiculo, $motor));
if($pegaAutomovel->rowCount() == 0){
$retorno['status'] = 0;
}else{
$retorno['status'] = 1;
if($seguimento == "4 rodas"):
$retorno['conteudo'] .= '<thead>';
$retorno['conteudo'] .= '<tr class="table">';
$retorno['conteudo'] .= '<td rowspan="2" align="center" class="cinza" valign="middle"><img src="images/veiculo.jpg"></td>';
$retorno['conteudo'] .= '<td rowspan="2" align="center"><img src="images/motor.jpg"></td>';
$retorno['conteudo'] .= '<td rowspan="2" align="center" class="cinza combustivel" style="background: #e7e7e9;"><img src="images/combustivel.jpg"></td>';
$retorno['conteudo'] .= '<td colspan="3" align="center" class="cinza" style="background: #ffcb05;"><img src="images/velas.jpg"></td>';
$retorno['conteudo'] .= '<td rowspan="2" align="center"><img src="images/gap.jpg"></td>';
$retorno['conteudo'] .= '<td colspan="2" align="center" style="background: black;"><img src="images/cabos.jpg"></td>';
$retorno['conteudo'] .= '<td colspan="2" align="center" style="background: #ffcb05;"><img src="images/bobina-igni.jpg"></td>';
$retorno['conteudo'] .= '</tr">';
$retorno['conteudo'] .= '<tr class="table">';
$retorno['conteudo'] .= '<td class="cinza" align="center" valign="middle" style="background: #e7e7e9;"><img src="images/ano.jpg"></td>';
$retorno['conteudo'] .= '<td class="cinza" align="center" valign="middle" style="background: #ec1d25;"><img src="images/ngk.jpg"></td>';
$retorno['conteudo'] .= '<td class="cinza" align="center" valign="middle" style="background: #00a650;"><img src="images/ngk_green.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #e7e7e9;"><img src="images/ano.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #ec1d25;"><img src="images/cabo.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #e7e7e9;"><img src="images/ano.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #ec1d25;"><img src="images/bobina.jpg"></td>';
$retorno['conteudo'] .= '</tr">';
$retorno['conteudo'] .= '</thead>';
while($automovel = $pegaAutomovel->fetchObject()){
$retorno['conteudo'] .= '<tr><td>'.utf8_encode($automovel->modelo).'</td><td>'.utf8_encode($automovel->motor).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->combustivel).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->ano_vela).'</td><td>'.utf8_encode($automovel->ngk).'</td><td>'.utf8_encode($automovel->ngk_green).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->ngk_green).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->gap).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->ano_cabo).'</td><td>'.utf8_encode($automovel->cabos_ngk).'</td><td></td><td></td></tr>';
}
elseif($seguimento == '2 rodas'):
$retorno['conteudo'] .= '<thead>';
$retorno['conteudo'] .= '<tr class="table">';
$retorno['conteudo'] .= '<td class="cinza" align="center" valign="middle" style="background: #e7e7e9;"><img src="images/veiculo.jpg"></td>';
$retorno['conteudo'] .= '<td class="cinza" align="center" valign="middle" style="background: #FFF;"><img src="images/motor.jpg"></td>';
$retorno['conteudo'] .= '<td class="cinza" align="center" valign="middle" style="background: #e7e7e9;"><img src="images/combustivel.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #e7e7e9;"><img src="images/ano.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #FFF;"><img src="images/posicao_sensor.jpg"></td>';
$retorno['conteudo'] .= '<td align="center" style="background: #00a650;"><img src="images/sensor_oxigenio.jpg"></td>';
$retorno['conteudo'] .= '</tr">';
$retorno['conteudo'] .= '</thead>';
while($automovel = $pegaAutomovel->fetchObject()){
$retorno['conteudo'] .= '<tr><td>'.utf8_encode($automovel->modelo).'</td><td>'.utf8_encode($automovel->motor).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->combustivel).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->ano_vela).'</td>';
$retorno['conteudo'] .= '<td>'.utf8_encode($automovel->posicao_sensor).'</td>';
}
endif;
}
break;
}
echo json_encode($retorno);
}
?>
eu preciso que se a $seguimento for == a (ALGO) insira na tabela busca, se for igual a (OUTRO) busque na tabela busca_outra e assim em diante com 4 tabelas, nao sei se e a melhor forma de se fazer, mas foi a unica logica que consegui bolar.
Discussão (0)
Carregando comentários...