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.