Ir para conteúdo
Fórum Script Brasil
  • 0

Recuperar Valor Do Db Em Menu De Lista


juliano.ma

Pergunta

Bom dia amigos!

tenho o seguinte script:

<?php 
include("../config.php");

echo "<select name=\"cidade\">";

$sql=mysql_query("SELECT * FROM cidades ORDER BY cidade ASC");

while($linha=mysql_fetch_array($sql)) {

echo"<option value=\"$linha[1]\">$linha[1]</option>";

}

echo "</select>";

?>

Eu tenho uma tabela "CIDADES" e uso ela na hora de cadastrar um cliente.

Como faço para recuperar a cidade pré-cadastrada (deixar ela selecionada na combo) quando eu for editar os dados do cliente?

Dei uma lida sobre if e else mas não consegui implementar.

Editado por juliano.ma
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Faz um select antes de exibir o combobox, e nele você coloca o valor retornado:

<?php

    $pegaCliente = mysql_query("SELECT * FROM clientes WHERE id = '" . $id . "'") or die ("ERRO!");

$dados = mysql_fetch_array($pegaCliente);
$cidade = $dados["cidade"];

$seleciona = "SELECT cidade FROM cidades";
    $seleciona_ = mysql_query($seleciona) or die ("<font color=\"#ff0000\">Erro!</font>");

        echo "<select name=\"cidade\" id=\"cidade\">";
            echo "<option value=\"" . $cidade . "\">" . $cidade . "</option>";
                while (list($cidade_) = mysql_fetch_array($seleciona_)) {
                    echo "<option value=\"" . $cidade_ . "\">" . $cidade_ . "</option>";
                        } 
                        echo "</select> ";
?>

Editado por Gutto
Link para o comentário
Compartilhar em outros sites

  • 0

Gutto, obrigado por ter respondido.

Então, desta forma como você passou ele funciona certinho o combo com as cidades, mas ainda não fica pré-selecionada a cidade do cliente que está o DB.

Tentei assim também, mas não deu...

<?php 
include("../config.php");

$pegaCliente = mysql_query("SELECT * FROM clientes WHERE id = '" . $id . "'") or die ("ERRO!");

$dados = mysql_fetch_array($pegaCliente);

$cidade = $dados["cidade"];


echo "<select name="cidade">";

$sql=mysql_query("SELECT * FROM cidades ORDER BY cidade ASC");

while($linha=mysql_fetch_array($sql)) {

     if ($linha[1] == $cidade) {

          echo"<option value="$linha[1]" selected>$linha[1]</option>";

          } else {

               echo"<option value="$linha[1]">$linha[1]</option>";
     }
}
echo "</select>";
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei assim:

<?php
include("../config.php");
     $sql = mysql_query("SELECT cidade FROM clientes");
     $aux = mysql_fetch_array($sql);
     $cidade_cliente = $aux["cidade"];

     echo "<select name=\"cidade\">";
     $sql_cidade = mysql_query("SELECT * FROM cidades ORDER BY cidade ASC");
     while($linha=mysql_fetch_array($sql_cidade)) {
          if ($linha[1] == $cidade_cliente) {
               echo"<option value=\"$linha[1]\" selected>$linha[1]</option>";
               } else {
                    echo"<option value=\"$linha[1]\">$linha[1]</option>";
          }
     }
     echo "</select>";
?>

na verdade funcionou, mas ele seleciona a cidade do primeiro cliente do BD no caso o que tem a ID mai baixa...

Por que será?

Meu banco esta assim:

Tabela "CLIENTES"

-> id

-> nome

-> cidade

-> etc etc

Tabela "CIDADES"

-> id

-> cidade

Grande abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

resolvido.

<select name="cidade">

<?php
include("../config.php");
  // para começar, voce precisa do id de algum cliente para mostrar a sua cidade em particular
  
  // Abaixo a query para saber a cidade dele
  $query_cidade = "SELECT cidade FROM clientes WHERE id='$_GET[id]'";
  $result_cidade = mysql_query($query_cidade);
  $cidadeCliente = mysql_fetch_array($result_cidade);
  // Abaixo a query pra mostrar todas as cidades
  $result_cidades = mysql_query("SELECT * FROM cidades ORDER BY cidade ASC");
  // Agora o while, note eu deixei ele aberto para por o codigo html fora dos echos
  while($cidades = mysql_fetch_array($result_cidades))
    {
?>

 <option value="<?php echo $cidades[id]; ?>" <?php if($cidades[cidade] == $cidadeCliente['cidade']) { echo "SELECTED";}; ?>> <?php echo $cidades[cidade]; ?> </option>

<?php
   // Aqui eu fecho o while
    };
?>


</select>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...