Jump to content
Fórum Script Brasil
  • 0

Popular Combobox


Gilbeto F. T
 Share

Question

Olá,

Estou começando com PHP e preciso popular uma combobox com dados vindo de uma tabela em um banco de dados já fiz várias tentativas e nada. Minha última é:

// Preenchendo a Combo UF com dados da tabela
while($Row = mssql_fetch_array($Result))
{
    for ($I = 1; $I <= 27; $I++)
   {
       echo "<option value=$Row[$I]></option>"; 
   }
}

e não funcionou. Alguma dica ?????.

Obrigado.

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Para Popular:

while($Row = mssql_fetch_array($Result))

echo "<option value=$Row['']></option>";

}

Não Entendi para que o for, voce quer limitar o numero de options em 27?

Para usar da forma que você fez tem que usar o segundo parametros do mssql_fetch_array

array mysql_fetch_array ( resource result [, int result_type] )

Para indicar que você vai pegar o resultado pelo indice associado, e não pelo nome do campo

$row = mysql_fetch_array($result, MYSQL_NUM),

Mesmo assim não vai dar certo que pela logica que você fez você vai ter os nomes de estados repetidos 27 vezes, por que a cada passagem so wihle, você vai executar o for 27 vezes com o mesmo valor:

while....( ate o total de registros)pega o primero registro da array

for(.... até 27 grava o valor do wilhe

}

Edited by itibere
Link to comment
Share on other sites

  • 0

Olá,

Sua solução funcionou....

// Preenchendo a Combo UF com dados da tabela
echo "<select name=\"cboUF\">";
while($Row = mssql_fetch_array($Result))
{
    $cboUF = $Row['UF'];
    echo "<option value=\"$cboUF\">$cboUF</option>";
}
echo "</select>";

porém, minha combobox que se chama cboUF, está em um formulário

que chama essa função. Dessa forma, ele está criando uma nova combo.

Alguma outra dica ?????

Obrigado.

Edited by ESerra
Utilize as tags [code] [/code]
Link to comment
Share on other sites

  • 0

Tem... só que você vai ter que enviar algum dado para a outra página, por exemplo:

a.php

b.php

Na a.php tem lá um select com os estados e a respectiva sigla no value, o action do formulário na a.php é a b.php, ai na b.php você resgata o que vir do select que está na a.php, faz a pesquisa no BD e monta o select de acordo com o que já foi mostrado.

Link to comment
Share on other sites

  • 0

OK....

No form a:

<form name="iCidade" method="post" action="../../FRMCadastro/Forms/FRMCadCidades.php">
 <?php
         if(file_exists("../../Conexao.php"))
         {
            require('../../Conexao.php');
            mssql_select_db($DB, $SQLConnect);
            $Select = "select * from tbUF";
            $Result = mssql_query($Select);
            while($Row = mssql_fetch_array($Result))
            {
    echo("$Row[UF]");
             }
         }
?>
No form b:
<form name="frmCadCidades" method="post" action="">
     <table align="left%" width="100%" border="0">
           <tr>
                  <td height="27" class="Arial8Black">UF</td>
      <td colspan="3">
                        <select name="cboUF" class="Arial8Blue">
                                         <?php  echo "<option value='".$Row['$cboUF']."'>".$Row['UF']."</option>";?>
                  </select>
       </td>
     </table>
</form>

Dessa forma as UF´s estão sendo exibidas fora do combo.

Alguma dica ?????

Obrigado.

Edited by ESerra
Utilize as tags [code] [/code]
Link to comment
Share on other sites

  • 0

Se você olhar o exemplo que eu coloque lá em cima, vai ver que os options do select são montados dentro do laço, o que você está fazendo é simplesmente mandar imprimir o que vem do laço, mas não dentro do option que compõe o select...

Link to comment
Share on other sites

  • 0

Olá,

Preciso preencher uma combobox que está em umna outra página mas estou com dificuldades. Vejam a fragmento de ´código das páginas.

frmCadCidades.php
<form name="frmCadCidades" method="post" action="../../FRMCadastro/Insert/iCidade.php">
  <table align="left%" width="100%" border="0">
        <tr>
             <td height="27" class="Arial8Black">UF</td>
             <td colspan="3">
                   <select name="cboUF" class="Arial8Blue">
               <option value = "[0]">Selecione uma UF</option>
                        <?php echo "<option value = '".$Row['$cboUF']."'>".$Row['UF']."</option>";?>
                   </select>
             </td>
        </tr>
   </table>
</form>
iCidade.php
<form name="iCidade" method="post" action="">
    <?php
           require('../../Conexao.php');
           mssql_select_db($DB, $SQLConnect);
           $Select = "select * from tbUF";
           $Result = mssql_query($Select);
           while($Row = mssql_fetch_array($Result))
           {
               echo("$Row[UF]");
            }
      ?>
</form>

Preciso passar os dados do select da página iCidade para preencher a combo que está na página frmCadCidades.

Alguma dica ????

Obrigado.

Edited by ESerra
Utilize as tags [code] [/code]
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...