PF2G Posted June 27, 2012 at 09:24 AM Report Share #465849 Posted June 27, 2012 at 09:24 AM 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 at 09:40 AM Report Share #465858 Posted June 27, 2012 at 09:40 AM 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 at 10:00 AM Author Report Share #465868 Posted June 27, 2012 at 10:00 AM 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 at 10:10 AM Report Share #465880 Posted June 27, 2012 at 10:10 AM 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 at 11:21 AM Author Report Share #465902 Posted June 27, 2012 at 11:21 AM 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 at 03:19 PM Report Share #465967 Posted June 27, 2012 at 03:19 PM 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