..:: MX Studio Fóruns ::..: 2 list menu com dados da mesma tabela - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 list menu com dados da mesma tabela Como fazer dois list menu iguais?

#1 User is offline   Marciano Ribeiro 

  • Group: Membros
  • Posts: 8
  • Joined: 19-March 07

Posted 01 February 2010 - 09:47 AM

Bom Dia!

estou desenvolvendo um sitema para gerenciamento de pedidos,
estou travando neste probleminha,

Na página que faz o pedido, queria que houvesse a opção para selecionar dois ou mais produtos,
ou seja 2 list menu exatamente iguais.
Fiz um list menu e funcionaou belezinha, mas quando copio o mesmo código para fazer o segundo,
simplesmente não vem os dados da tabela do banco de dados.

Helpe-me - segue o Código
desde já agradeço!


<?php
require_once ("../includes/class_mysql.php");
$mysql = new MySQL ();
$res_produtos = $mysql->sql ("SELECT id_produto, nome FROM produtos ORDER BY nome");
?>


<tr>
<td bgcolor="#e6e7e8"><label>
<select name="quant" id="quant">
<option>Selecione</option>
<option>500</option>
<option>1.000</option>
<option>5.000</option>
</select>
</label></td>

<td bgcolor="#e6e7e8">
<label>
<select name="produto" id="produto">
<option value="0">Selecione</option>
<?php while($produtos = mysql_fetch_array($res_produtos)){?>
<option value="<?php echo $produtos['nome']?>" selected="selected"><?php echo $produtos['nome']?></option>
<?php }?>
</select>
</label>
</td>
<td bgcolor="#e6e7e8"><input type="text" name="valor" id="valor" /></td>
</tr>



<tr>
<td bgcolor="#e6e7e8"><label>
<select name="quant" id="quant">
<option>Selecione</option>
<option>500</option>
<option>1.000</option>
<option>5.000</option>
</select>
</label></td>
<td bgcolor="#e6e7e8">
<label>

<select name="produto" id="produto">
<option value="0">Selecione</option>
<?php while($produtos = mysql_fetch_array($res_produtos)){?>
<option value="<?php echo $produtos['nome']?>" selected="selected"><?php echo $produtos['nome']?></option>
<?php }?>
</select>
</label>
<td bgcolor="#e6e7e8"><input type="text" name="valor" id="valor" /></td>
</tr>

0

#2 User is offline   RafaJaques 

  • Group: Moderadores
  • Posts: 549
  • Joined: 20-December 05

Posted 12 February 2010 - 08:33 AM

Não sei exatamente qual classe você está usando...

Mas o erro ocorre porque depois que você termina de varrer todos os resultados, as funções de fetch só retornam false.

Você deve "rebobinar" os resultados...

Faça o seguinte

CÓDIGO
mysql_data_seek($res_produtos, 0);


Isso vai levar o ponteiro dos resultados de volta para a primeira linha de resultados..

Coloque isso antes de fazer a varredura novamente e seu código vai funcionar smile.gif



Outra dica que eu te dou, pra economizar processamento, é colocar o resultado dentro de uma variável e apenas ecoala quando precisa mostrar os resultados...

CÓDIGO
<?php
   $resultados = '';
  
   while ($produtos = mysql_fetch_array($res_produtos)){
      $resultados .= '<option value="'.$produtos['nome'].'" selected="selected">'.$produtos['nome'].'</option>'."\n";
   }

   // Todas as vezes que precisar imprimir os seus resultados, apenas faça isso:
   echo $resultados; // Já vai tudo formatadinho!;)
?>


Abraço!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)