Ir para conteúdo

POWERED BY:

Arquivado

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

eronventer

Sistema de busca avançada

Recommended Posts

ae galera!!!

 

bom estou elaborando um sitema de busca de veiculos, na busca terá diversas opções

assim como uma série de opcionais do veiculo a ser buscado.

 

para começar eu tenho a tabela tb_opcionais onde eu tenho id,nome,sigla e na

tabela tb_veiculos no campo opcional eu gravo eles da seguinte maneira: 1-5-6-8 (id)

 

na busca cada opcional é um checkbox, eu gostaria de um help na logica, de como eu posso

elaborar a busca relacionando os id dos opcionais da tabela tb_veiculos com o id deles cadastrado

na tabela tb_opcionais

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sou muito de postar códigos, mas ta ai ...

SELECT * FROM tb_veiculos LEFT OUTER JOIN tb_opcionais ON tb_veiculos.id_op=tb_opcionais.id_op WHERE (Critérios de Busca)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo ateh essa parte eu saquei eu tinha feito, mas na condição where

que eu to com a duvida mesmo.

 

antes de executar o select eu teria tratar meu campo opcional da tabela

tb_veiculos separando cada id do opcional, pois eu gravo id-id-id-id-id

ou eu poderia fazer um like buscando os id e relacionado com os id que existe na tabela tb_opcionais?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa, agora que eu vi .. pow cara, tu tem um campo multi-valorado aeeee ... isso é malsss .... o interessante é você criar uma tabela associativa, exemplo.Lista_Opcionaisid_veiculo | id_oppode parecer qe não, mas fica bem mais fácil de fazer o select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, meu sistema de busca marca/modelo está em funcionamento já, só não consegui aplicar ainda a questão dos opcionais, na pagina de busca eu tenho:

 

um combobox "marca", combox "modelo" e diversos checkbox nomeados de opc[] e de value deles é a sigla do opcional a ser encontrado.

 

tenho uma tabela de relacionamento:

 

veiculos: id | id_modelo | cor

veiculos_opc: id_veiculo | id_opcional

 

Como acontece a busca:

 

if($modelo <> ""){	$busca = " veiculos.id_modelo in (select modelos.id from modelos, marcas where modelos.id_marca=marcas.id and modelos.modelo='".$_REQUEST['modelo']."')";}$sql = "select id_modelo, cor, marcas.marca from veiculos";$sql .= " inner join modelos on (veiculos.id_modelo=modelos.id) inner join marcas on (marcas.id=modelos.id_marca)";$sql .= " where ".$busca;$res = mysql_query($sql) or die($sql."<br><br>".mysql_error());$num = mysql_num_rows($res);if($res){	for($j=0;$j>count($opc);$j++){		$sql_opc = "select veiculos.id, veiculos_opc.*, opcionais.* from veiculos, veiculos_opc, opcionais";		$sql_opc .= " where veiculos_opc.id_veiculo = veiculos.id and veiculos_opc.id_opcional = opcionais.id and opcionais.sigla = '".$opc[$j]."'";	}	$res_opc = mysql_query($sql_opc) or die($sql_opc."<br><br>".mysql_error());	$num_opc = mysql_num_rows($res_opc);	for($i=0; $i<$num; $i++){		extract(mysql_fetch_array($res));		echo "Marca: ".$marca."<br>Modelo: ".$modelo."<br>Cor: ".$cor."<br>\n";		for($o=0; $o<$num_opc; $o++){			extract(mysql_fetch_array($res_opc));			echo "Opcionais: ".$sigla.", ";		}		echo "<br><br>";	}}
Eu tentei com for pegar os checkbox opc mas nao deu mtu certo nao, ele diz: Query was empty

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.