Ir para conteúdo

Arquivado

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

Rafael Augusto_173176

Select em tabelas diferentes

Recommended Posts

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.

 

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.