Kaka RJ 0 Denunciar post Postado Setembro 25, 2008 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
Kaka RJ 0 Denunciar post Postado Setembro 25, 2008 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
Kaka RJ 0 Denunciar post Postado Setembro 28, 2008 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
Kaka RJ 0 Denunciar post Postado Setembro 29, 2008 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
PauloRJ 4 Denunciar post Postado Setembro 29, 2008 Acho que seja essa ideia que você procura. http://ajax.zervaas.com.au/examples/CountryRegionCityJax/ Compartilhar este post Link para o post Compartilhar em outros sites
Kaka RJ 0 Denunciar post Postado Setembro 29, 2008 Acho que seja essa ideia que você procura. http://ajax.zervaas.com.au/examples/CountryRegionCityJax/ Poxa Paulo, obrigado pelo interesse! Os combos dinamicos eu consegui fazer, o meu problema é não conseguir buscar em uma 3ª tabela um valor selecionado no combobox... Compartilhar este post Link para o post Compartilhar em outros sites
PauloRJ 4 Denunciar post Postado Setembro 29, 2008 posta o codigo. Compartilhar este post Link para o post Compartilhar em outros sites
Kaka RJ 0 Denunciar post Postado Setembro 29, 2008 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