PF2G Posted June 27, 2012 Report Share Posted June 27, 2012 Boas, eu estou a editar produtos. Na página tenho uma combobox com a lista de simuladores (que vai buscar à BD). O que pretendo fazer é: ao seleccionar um simulador a combobox dos produtos listar todos os produtos pertencentes ao simulador seleccionado. Neste momento só consigo para um simulador se eu seleccionar outro simulador, a combobox dos produtos não muda. Listagem de Simuladores: <?php $query_simulador=mysql_query("SELECT * FROM simulador") or die(mysql_error()); $titulo_sim=mysql_num_rows($query_simulador); $query_prod_sim=mysql_query("SELECT * FROM produtos WHERE id_simulador='".$titulo_sim['id_simulador']."'") or die(mysql_error()); $prod_sim=mysql_fetch_assoc($query_prod_sim); ?> <label for="edit-name" id="simul" class="label-help">Simulador: </label> <select class="inp-form big_inp" name="simulador" id="titulo"> <?php while ($titulo_sim=mysql_fetch_assoc($query_simulador)) { ?> <option <?php if($simulador['titulo_simulador']==$titulo_sim['titulo_simulador']){echo 'selected="selected"';} ?>> <?php echo $titulo_sim['titulo_simulador']; ?> </option> <?php ;} ?> </select> Listagem de produtos de acordo com Simulador seleccionado: <?php $query_produtos_paineis=mysql_query("SELECT * FROM produtos WHERE tipo_painel=1") or die(mysql_error()); $produtos_paineis=mysql_fetch_assoc($query_produtos_paineis); $query_produtos_rede=mysql_query("SELECT * FROM produtos WHERE tipo_rede=1") or die(mysql_error()); $produtos_rede=mysql_fetch_assoc($query_produtos_rede); ?> <label for="edit-name" class="label-help">Produto: </label> <table> <tr> <td> <input type="text" name="prod_name"> <div class="change_name" style="margin-top:-17px; margin-left:5px;"> </div> </input> </td> <td width="20px"></td> <td> <select onchange="function()" name="produtos" class="simulador"> <!-------------------PAINEIS_STANDARD----------------------> <?php if ($titulo_sim['id_simulador']==$query_produtos_paineis['id_simulador']) { do{ ?> <option> <?php echo $produtos_paineis['nome_produto'] .' - '. $produtos_paineis['altura']; ?> </option> <?php }while ($produtos_paineis=mysql_fetch_assoc($query_produtos_paineis)); } /******************VEDACOES_COMPOSTAS**********************/ elseif ($titulo_sim['id_simulador']==$query_produtos_rede['id_simulador']) { do{ ?> <option> <?php echo $produtos_rede['nome_produto']; ?> </option> <?php }while ($produtos_rede=mysql_fetch_assoc($query_produtos_rede)); } ?> </select> </td> </tr> </table> Espero ter sido claro, desta vez. Obrigado, PF2G Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 https://www.portugal-a-programar.pt/search/ depois é so meteres as palavras "combobox" e "ajax" ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 27, 2012 Author Report Share Posted June 27, 2012 Hippo@ Podes-me ajudar sff Acho um bocado complicado com o ajax. Penso que é melhor usar mysql_fetc_array, será que me podes ajudar? <?php $query_produtos_paineis=mysql_query("SELECT * FROM produtos WHERE tipo_painel=1") or die(mysql_error()); $produtos_paineis=mysql_fetch_array($query_produtos_paineis); $query_produtos_rede=mysql_query("SELECT * FROM produtos WHERE tipo_rede=1") or die(mysql_error()); $produtos_rede=mysql_fetch_array($query_produtos_rede); ?> <label for="edit-name" class="label-help">Produto: </label> <table> <tr> <td> <input type="text" name="prod_name"> <div class='change_name' contenteditable="true" style='margin-top:-17px; margin-left:5px;'></div> </input> </td> <td width="20px"></td> <td> <select onchange="function()" name="produtos" class="simulador"> <!-------------------PAINEIS_STANDARD----------------------> <?php if ($titulo_sim['id_simulador']==$query_produtos_paineis['id_simulador']) { do{ ?> <option <?php if ($titulo_sim['id_simulador']==$query_produtos_paineis['id_simulador']){echo 'selected="selected"';} ?>> <?php echo $produtos_paineis['nome_produto'] .' - '. $produtos_paineis['altura']; ?> </option> <?php }while ($produtos_paineis=mysql_fetch_assoc($query_produtos_paineis)); } /******************VEDACOES_COMPOSTAS**********************/ elseif ($titulo_sim['id_simulador']==$query_produtos_rede['id_simulador']) { do{ ?> <option <?php if ($titulo_sim['id_simulador']==$query_produtos_rede['id_simulador']){echo 'selected="selected"';} ?>> <?php echo $produtos_rede['nome_produto']; ?> </option> <?php }while ($produtos_rede=mysql_fetch_assoc($query_produtos_rede)); } ?> </select> </td> </tr> </table> Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 o que pretendes é impossível tenta ler sobre o assunto: http://pt.wikipedia.org/wiki/AJAX_(programação) server-side : http://pt.wikipedia.org/wiki/Server-side client-side : http://pt.wikipedia.org/wiki/Client_Side php : http://pt.wikipedia.org/wiki/Php javascript : http://pt.wikipedia.org/wiki/Javascript IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 27, 2012 Author Report Share Posted June 27, 2012 Fica alguma coisa assim? Só me falta configurar para o meu caso, mas tenho duvidas de como faço com que a lista dos produtos venha da BD. <!--COMBO PARA COMBOBOX--> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-16292925-1"); pageTracker._trackPageview(); } catch(err) {} </script> Combobox's: <?php $query_simulador=mysql_query("SELECT * FROM simulador") or die(mysql_error()); $titulo_sim=mysql_num_rows($query_simulador); $query_prod_sim=mysql_query("SELECT * FROM produtos WHERE id_simulador='".$titulo_sim['id_simulador']."'") or die(mysql_error()); $prod_sim=mysql_fetch_assoc($query_prod_sim); ?> <label for="edit-name" id="simul" class="label-help">Simulador: </label> <select class="inp-form big_inp" name="simulador" id="titulo"> <option value="" select="selected"> <?php while ($titulo_sim=mysql_fetch_assoc($query_simulador)) { ?> <option> <?php echo $titulo_sim['titulo_simulador']; ?> </option> <?php ;} ?> </select> <div class="description">O nome de leitura fácil, deste tipo de conteúdo. Este texto será mostrado como parte da lista na página criar conteúdo. É recomendado que este nome comece com uma letra maiúscula e contenha apenas letras, números e espaços. Este nome tem de ser único.</div> <br /> <?php $query_produtos_paineis=mysql_query("SELECT * FROM produtos WHERE tipo_painel=1") or die(mysql_error()); $produtos_paineis=mysql_fetch_assoc($query_produtos_paineis); $query_produtos_rede=mysql_query("SELECT * FROM produtos WHERE tipo_rede=1") or die(mysql_error()); $produtos_rede=mysql_fetch_assoc($query_produtos_rede); //die; ?> <label for="edit-name" class="label-help">Produto: </label> <table> <tr> <td> <input type="text" name="prod_name"> <div class='change_name' contenteditable="true" style='margin-top:-17px; margin-left:5px;'></div> </input> </td> <td width="20px"></td> <td> <div class="both"> <div id="show_sub_categories" align="center"> <img src="loader.gif" style="margin-top:8px; float:left" id="loader" alt="" /> </div> </div> <br clear="all" /><br clear="all" /> </td> </tr> </table> Link to comment Share on other sites More sharing options...
ruimcosta Posted June 27, 2012 Report Share Posted June 27, 2012 Acho um bocado complicado com o ajax. Penso que é melhor usar mysql_fetc_array Aconselho-te vivamente a leres o que está escrito nos links que o HappyHippyHippo te mandou, até porque a tua resposta diz-nos muita coisa sobre os teus conhecimentos de programação para a web. Abraços e beijinhos,Rui Costa Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now