Ir para conteúdo

POWERED BY:

Arquivado

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

kroppdesign

Onde está o erro?

Recommended Posts

Bom dia.

Venho tentando implementar um sistema de 3 comboboxes que carregam respectivamente Tipo(tipo), Marca(make) e Modelo(model) de veículos. Como já havia o sistema Marca/Modelo no template que eu adquiri, estou tentando implementar o Tipo, uma hierarquia acima.

 

O problema está em uma única função, que é chamada pelo javascript do html onde ficam as boxes. Porém essa função fica em outro arquivo, e ao verem o código vocês verão que Tipo/marca/modelo estão em tabelas distintas no banco de dados e são carregados através dos selects.

 

Mas creio eu que estou errando em algum lugar alí, que, apesar de ao selecionar o tipo e ele chamar as marcas relacionadas, ele não me deixa selecionar a marca, e mesmo assim já carrega os modelos, porém nem todos.

 

No box do tipo e da marca, no html, tem no onchange=\"Fill_Sub1(\'frmSearch\')\", como o modelo é o ultimo este não tem.

 

Segue o código, preciso de ajuda, orientação, qualquer coisa.

 

function CreateMJsString(){		global $AllMakes;				global $AllModels;	   $this->listing =   "		<!--		  function Fill_Sub1(formf) {				   var main_select = document.getElementById(formf).tipos;		   var sub_select = document.getElementById(formf).makems;				   var subb_select = document.getElementById(formf).models;						if( main_select.options[main_select.selectedIndex].value == 0 )		   {			sub_select.length = 0;			}\n						else if( sub_select.options[sub_select.selectedIndex].value == 0 )		   {			subb_select.length = 0;					 }   \n";		   $this->_db->query("SELECT tid,tiponame,apareca FROM ".TABLE_PREFIX."tipo order by tiponame");				   $this->_db2 = new DBM;				 // $this->_db3 = new DBM;		   $this->_db2->connect();				   //$this->_db3->connect();		   //enquanto $row1 é igual a _db			while( $Row1 = $this->_db->_fetch_row('DB_FETCH_ASSOC')){		   $this->listing .=   "if(main_select.options[main_select.selectedIndex].value == \"$Row1[tid]\")							 {								sub_select.length = 0;\n";							   				$this->listing .=  "sub_select.options[0] = new Option('$AllMakes');\n";				$this->listing .=  "sub_select.options[0].value = '0';\n";				$this->listing .=  "subb_select.options[0] = new Option('$AllModels');\n";				$this->listing .=  "subb_select.options[0].value = '0';\n";					//$selectedctrl=0;				$Query2 = "select id,makename,tipo_tid from ".TABLE_PREFIX."makes where tipo_tid = '".$Row1['tid']."' order by makename";				$this->_db3 = new DBM;				 $this->_db3->connect();				$Result2 = $this->_db2->query($Query2);				$ctr1 = 1;						While( $Row2 = $this->_db2->_fetch_row('DB_FETCH_ASSOC')){				$this->listing .=  "sub_select.options[$ctr1] = new Option('{$Row2[makename]}');\n";					$this->listing .=  "sub_select.options[$ctr1].value = '{$Row2[id]}';\n";					if($this->id == $Row2['id']){								$selectedctr13=$ctr1;								$this->listing .= "subb_select.options[$selectedctr13].selected=true;\n";																		 }else {														 $selectedctr13=0;														//$selectedctr23=0;						   }								 $ctr1++;																		   				$Query3 = "select modelid,modelname,tipo_id,make_id from ".TABLE_PREFIX."models where make_id = '".$Row2['id']."' order by modelname";						$Result3 = $this->_db3->query($Query3);				$ctr2 = 1;						While( $Row3 = $this->_db3->_fetch_row('DB_FETCH_ASSOC')){					//$this->listing .=  "alert('$Row2[makename]');";					$this->listing .=  "subb_select.options[$ctr2] = new Option('{$Row3[modelname]}');\n";								$this->listing .=  "subb_select.options[$ctr2].value = '{$Row3[modelid]}';\n";								if($this->modelid == $Row3['modelid']){								$selectedctr23=$ctr2;								$this->listing .= "subb_select.options[$selectedctr23].selected=true;\n";													  //senao													  }else {														 //$selectedctr13=0;														 $selectedctr23=0;						   }								  $ctr2++;										 }									   									   									   } $this->listing .=  "} else \n";									   						 }		   		   $this->listing .=  "{\n";			$this->listing .=  "	sub_select.length = 0;\n";			$this->listing .=  "	subb_select.length = 0;\n";			$this->listing .= "	 subb_select.options[0] = new Option('$AllModels');\n";			$this->listing .= "	 subb_select.options[0].value = '0';\n";			$this->listing .= "	 sub_select.options[0] = new Option('$AllMakes');\n";			$this->listing .= "	 sub_select.options[0].value = '0';\n";						$this->listing .=  "}\n";			$this->listing .=  "		}\n";				   $this->listing .=  "Fill_Sub1('{$_GET['fn']}')				-->\n";				return $this->listing;										  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

kroppdesign

 

1) - esse forum é um local público de ajuda mútua.

2) - se a sua dúvida não foi respondida por ninguem, certamente é porque está difícil entender a descrição do seu problema

 

dicas:

título e subtítulo

crie um título adequado para o seu problema, no subtítulo coloque detalhes importantes e relevantes sobre o assunto

 

conteúdo

convenhamos que todos aqui somos ocupados no dia-a-dia, por isso, não convém examinarmos códigos postados, principalmente quando possuem certa complexidade.

Seu código, apesar de não ser complexo, requer configurações expecíficas para realização de testes. Portanto, realizar testes para ajudá-lo seria inviável.

 

 

seu tópico foi postado no início de um final de semana. se você esperasse um pouco mais poderia obter ajuda, mas infelizmente seu comnetário espantou quem poderia ajudar:

 

legal hein

da pra ver que a galera aqui ajuda!!!!!!!!!!!!

 

resolução:

 

 

Venho tentando implementar um sistema de 3 comboboxes que carregam respectivamente Tipo(tipo), Marca(make) e Modelo(model) de veículos. Como já havia o sistema Marca/Modelo no template que eu adquiri, estou tentando implementar o Tipo, uma hierarquia acima.

3 comboboxes, ok!

 

Como já havia o sistema Marca/Modelo no template que eu adquiri...

que template ?

 

...estou tentando implementar o Tipo, uma hierarquia acima

hierarquia acima da onde ?

 

estão em tabelas distintas no banco de dados e são carregados através dos selects

o seu problema pode estar relacionado a algum erro na programação PHP + mysql

consulte o forum adequado para isso.

 

caso queira continuar nesse tópico, poste somente a saída html e informe os erros retornados pelo depurador do browser

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.