Ir para conteúdo

POWERED BY:

Arquivado

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

Kaka  RJ

Combobox PHP/MySQL - Não retorna dados

Recommended Posts

Oi amigos!!

Estou passando por algumas dificuldades pra terminar o site que estou fazendo para uma loja. Acontece que fiz a página de busca com 2 combobox dinâmicos e os combobox funcionam bem (só popula o 2º após escolher o 1º), porém ao fazer a página de resultados com a tabela dinâmica, não retorna os dados da tabela de dados.

 

Para explicar melhor: 1º combo (Marcas), 2º (modelos)... veículos.

Arquivo (busca.php)

<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<?
#Conexão ao banco de dados
$conecta=mysql_connect("localhost", "root", "carleisouza");
$seleciona_db=mysql_select_db("dados", $conecta);
?>

<script LANGUAGE="JavaScript">
team = new Array(
<?
# Seleciona todos as marcas cadastrados
$sql="select * from marcas order by cod";
$sql_result=mysql_query($sql, $conecta);
$num=mysql_numrows($sql_result);
while ($row=mysql_fetch_array($sql_result)){
$conta=$conta+1;
	$cod_categoria=$row["cod"];
		echo "new Array(\n";
		$sub_sql="select * from modelos where cod='$cod_categoria'";
		$sub_result=mysql_query($sub_sql, $conecta);
		$num_sub=mysql_numrows($sub_result);
		if ($num_sub>=1){
# Se ele achar algum modelo para a marca ele marca a palavra Todas
			echo "new Array(\"Todas\", 0),\n";
			while ($rowx=mysql_fetch_array($sub_result)){
				$codigo_sub=$rowx["cod"];
				$sub_nome=$rowx["descr"];
			$conta_sub=$conta_sub+1;
				if ($conta_sub==$num_sub){
					echo "new Array(\"$sub_nome\", $codigo_sub)\n";
					$conta_sub="";
				}else{
					echo "new Array(\"$sub_nome\", $codigo_sub),\n";
				}
			}
		}else{
#Se ele nao achar modelo para a marca selecionado...
			echo "new Array(\"Qualquer\", 0)\n";
		}
	if ($num>$conta){
		echo "),\n";
	}
}
echo ")\n";
echo ");\n";
?>
//Inicio da função JS
function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {
var i, j;
var prompt;
// empty existing items
for (i = selectCtrl.options.length; i >= 0; i--) {
selectCtrl.options[i] = null;
}
prompt = (itemArray != null) ? goodPrompt : badPrompt;
if (prompt == null) {
j = 0;
}
else {
selectCtrl.options[0] = new Option(prompt);
j = 1;
}
if (itemArray != null) {
// add new items
for (i = 0; i < itemArray.length; i++) {
selectCtrl.options[j] = new Option(itemArray[i][0]);
if (itemArray[i][1] != null) {
selectCtrl.options[j].value = itemArray[i][1];
}
j++;
}
// select first item (prompt) for sub list
selectCtrl.options[0].selected = true;
   }
}
//  End -->
</script>
<center>
				<form action="master.php" method="get" name="form1" target="_self">
				  <p class="west">Escolha a marca e o modelo desejado.</p>
				  <p class="west"> </p>
				  <p align="left" class="west"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">MARCA:<b> 
					<select name="marcas" onChange="fillSelectFromArray(this.form.modelos, ((this.selectedIndex == -1) ? null : team[this.selectedIndex-1]));">
					  <option>Escolha uma Categoria</option>
					  <?
#Seleciona todos as marcas para setar os valores no combo
		  $sql="select * from marcas order by cod";
		  $sql_result=mysql_query($sql, $conecta);
		  while ($row=mysql_fetch_array($sql_result)){
		  $cod_categoria=$row["cod"];
		  $desc_categoria=$row["descr"];
		  ?>
					  <option value="<?echo $cod_categoria;?>"> <?echo $desc_categoria;?> 
					  </option>
					  <?
		  }
#Popula o segundo combo de acordo com a escolha no primeiro
		  ?>
					</select>
					</b></font></p>
				  <p class="west"> </p>
				  <p align="left" class="west"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">MODELO:<b> 
					<select name="modelos">
					  <option>---------------</option>
					</select>
					<input type="image" SRC="imagens/buscar_botao.jpg" width="68" height="21">						
					</b></font></p>
				</form>
			  </center>	  
</body>
</html>
Página de resultados (master.php)

<?php require_once('Connections/conecta.php'); ?>
<?php
$marcas_Recordset1 = "*.*";
if (isset($_GET['marcas'])) {
  $marcas_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['marcas'] : addslashes($_GET['marcas']);
}
$modelos_Recordset1 = "*.*";
if (isset($_GET['modelos'])) {
  $modelos_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['modelos'] : addslashes($_GET['modelos']);
}
mysql_select_db($database_conecta, $conecta);
$query_Recordset1 = sprintf("SELECT * FROM veiculos WHERE veiculos.marca LIKE '%%%s%%' AND veiculos.modelo LIKE '%%%s%%'", $marcas_Recordset1,$modelos_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $conecta) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table border="0">
  <tr> 
	<td>foto</td>
	<td>marca</td>
	<td>modelo</td>
	<td>ano</td>
	<td>preco</td>
	<td>loja</td>
  </tr>
  <?php do { ?>
  <tr> 
	<td><?php echo $row_Recordset1['foto']; ?></td>
	<td><?php echo $row_Recordset1['marca']; ?></td>
	<td><?php echo $row_Recordset1['modelo']; ?></td>
	<td><?php echo $row_Recordset1['ano']; ?></td>
	<td><?php echo $row_Recordset1['preco']; ?></td>
	<td><?php echo $row_Recordset1['loja']; ?></td>
  </tr>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>

</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Página conexão (conecta.php)
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conecta = "localhost";
$database_conecta = "dados";
$username_conecta = "root";
$password_conecta = "";
$conecta = mysql_pconnect($hostname_conecta, $username_conecta, $password_conecta) or die(mysql_error());
?>

Por favor ajudem-me pois já estou atrasada no prazo de entrega do site.

Obrigada!!

 

25/09...

 

O combobox dinâmico já está funcionando... Só que quando faz a busca no banco de dados MYSQL, ele não

está retornando nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra completar a informação: Fiz um banco de dados com 3 tabelas:

Uma para a marca, outra para o modelo, e uma (veiculo) que contém as descrições dos veículos.

A busca será feita na tabela Veículos.

As tabelas marca e modelo server para popular os 2 comboboxes...

 

Ajudem-me please!!!!

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal...

 

Já fiz combobox dinânicos de tudo quanto é jeito, javascript, php, ajax, e os combos funcionan normalmente. A minha dúvida é de como fazer uma busca em um banco de dados sql astravés de de um combobox dinâmico, pois quando faço em um combobox estático eu consigo fazer funcionar a busca no bd, mas quando faço daquele que 1 combo popula o 2º combobox, a busca q faço com o que foi selecionado no combobox não funciona de jeito nenhum.

 

Como por exemplo este aqui: http://www.freecode.com.br/drartigos/artig...rt=169&id=2 (um tutorial de combobox dinâmicos dependentes), está funcionando corretamente.

 

Como fazer uma página de busca em um banco de dados de acordo com o que foi selecionado no combobox?

 

Ajudinha, pleaseeee!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma semana quebrando a cabeça e nada!!!

Já que está tão dificil, vou falar para meu cliente que não consegui fazer...

Nenhuma ajudinha.....

:mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o codigo.

É esse acima!

 

Tá o código da busca, o da página de resultados e o da conexão com o BD...

 

Obrigada pelo interesse em ajudar!!

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.