Jump to content

[Resolvido] Option Combobox Info Input


PF2G
 Share

Recommended Posts

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

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

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.