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

(Resolvido) Montar um select do form com Update?


Michel M

Pergunta

Olá pessoal eu sou novo aqui me desculpe se eu não segui alguma regra para postar o tópico!!!

Mais vamos para minha duvida...primero eu estou resgatando todos os dados que o cliente já informou

mais eu não consigou resgatar os dados para montar um SELECT DO FORM, da até para notar que os unicos dados

que eu não estou informando são os do select para ele fazer a alteração....

O resultado que tem que dar é o seguinte aparecer um formulario com todos os dados do cliente existentes no BD

se ele querer fazer algum tipo de alteração ai ele faz e atualiza...

Desde de já agradeço a todos....

Muito Obrigado

<?php

$codigo = $_GET[cod];

require 'configVeiculos.php';

if($_SERVER[REQUEST_METHOD] == "POST"){

    $nome = $_POST[nome];
//    $veiculo = $_POST[veiculo];
//    $marca = $_POST[marca];
    $modelo = $_POST[modelo];
//    $ano = $_POST[ano];
    $cod = $_POST[codigo];

    $query = "UPDATE cadastracarro
             SET nome='$nome',modelo='$modelo'
             WHERE idCadastraCarro = '$cod'";

   $alterar = mysql_query($query);

   if($alterar){
       $msg="Alterado com sucesso";
       header("Location: listarCarros.php?mensagem=$msg");
//       echo"ALTERADO";
   }else{
       $msg="Falha na Alterção".  mysql_error();
       header("Location: listarCarros.php?mensagem=$msg");
//       echo"FALHA NA ALTERAÇÂO: ".  mysql_error();
   }

}

$query = "SELECT * FROM cadastracarro
         WHERE idCadastraCarro = '$codigo'
";

$busca = mysql_query($query);

$linha = mysql_fetch_assoc($busca);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title></title>
    </head>
    <body>
        <form method="POST">
            <table width="200" border="1" align="center" cellpadding="0" cellspacing="0">
                <tr>
                    <td align="right">Nome:      </td>
                    <td><input type="text" name="nome" id="nome" value="<?php echo $linha[nome];?>"/></td>
                </tr>
                <tr>
                    <td align="right">Veiculo:</td>
                    <td><select name="veiculo" id="veiculo">
                            <option>selecione</option>
                            <option value="carro">Carro</option>
                            <option value="moto">Moto</option>
                            <option value="caminhao">Caminhão</option>
                        </select></td>
                </tr>
                <tr>
                    <td align="right">Marca: </td>
                    <td><select name="marca" id="marca">
                            <option>selecione</option>
                            <option value="volkswagen">Volkswagen</option>
                            <option value="chevrolet">Chevrolet</option>
                            <option value="fiat">Fiat</option>
                        </select></td>
                </tr>
                <tr>
                    <td align="right">Modelo:</td>
                    <td><input type="text" name="modelo" id="modelo" value="<?php echo $linha[modelo];?>"/></td>
                </tr>
                <tr>
                    <td align="right">Ano:</td>
                    <td align="left"><select name="ano" id="ano">
                            <option>selecione</option>
                            <option value="2001">2001</option>
                            <option value="2002">2002</option>
                            <option value="2003">2003</option>
                            <option value="2004">2004</option>
                            <option value="2005">2005</option>
                            <option value="2006">2006</option>
                            <option value="2007">2007</option>
                            <option value="2008">2008</option>
                            <option value="2009">2009</option>
                            <option value="2010">2010</option>
                        </select></td>
                </tr>
                <tr>
                    <td>Codigo:</td>
                    <td><input type="text" name="codigo" value="<?php echo $linha[idCadastraCarro];?>" size="20" /></td>
                    </tr>
                <tr>                    
                    <td colspan="2" align="center"><input type="submit" name="enviar" id="enviar" value="atualizar" /></td>
                </tr>
            </table>
        </form>
    </body>
</html>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

No caso do select, você terá que conferir item por item dele se é igual o do db e imprimir selected se for.

Isso é mais fácil com operadores ternários.

Vamos usar o de ano como exemplo:

<?php
$ano = $linha["ano"];
?>
<select name="ano" id="ano">
<option>selecione</option>
<option value="2001" <?php ($ano == 2001) ? print("selected") : print(""); ?>>2001</option>
<option value="2002" <?php ($ano == 2002) ? print("selected") : print(""); ?>>2002</option>
<option value="2003" <?php ($ano == 2003) ? print("selected") : print(""); ?>>2003</option>
<option value="2004" <?php ($ano == 2004) ? print("selected") : print(""); ?>>2004</option>
<option value="2005" <?php ($ano == 2005) ? print("selected") : print(""); ?>>2005</option>
<option value="2006" <?php ($ano == 2006) ? print("selected") : print(""); ?>>2006</option>
<option value="2007" <?php ($ano == 2007) ? print("selected") : print(""); ?>>2007</option>
<option value="2008" <?php ($ano == 2008) ? print("selected") : print(""); ?>>2008</option>
<option value="2009" <?php ($ano == 2009) ? print("selected") : print(""); ?>>2009</option>
<option value="2010" <?php ($ano == 2010) ? print("selected") : print(""); ?>>2010</option>
</select>

Para você entender o que foi feito aqui, dê uma lida sobre a estrutura dos operadores ternários.

Ele é basicamente:

(Teste a ser feito) ? O que realizar em caso de verdadeiro : O que realizar em caso de falso;

O que fiz foi comparar os valores vindos do form com os do select, e se o valor for igual, mandar ficar selecionado.

Link para o comentário
Compartilhar em outros sites

  • 0

MLeandroJr!

Sim vou dar uma olha melhor sim!

Mais você pode me explicar so uma coisa o que imprime mesmo

print("selected") isso é algum tipo de função???....e um curiosidade

dentro de uma estrutura ternaria por que eu não posso usar echo???...

que eu tentei colocar o echo no lugar do print eu deu erro de sintax!!!

Mais muito obrigado você me ajudou muito!!!

Desde já te agradeço....

Link para o comentário
Compartilhar em outros sites

  • 0

Você não pode usar um echo porque o echo não é tratado como uma função pelo PHP, e os operadores ternários requerem uma função como saída.

O que imprime os dados, o print() é uma função interna do PHP.

Pra você entender, usar isso:

($ano == 2004) ? print("selected") : print("");
É a mesma coisa que usar isso:
if ($ano == 2004){
     print("selected");
     }
else {
     print("");
     }
Que pode ser resumido nisso:
if ($ano == 2004){
     print("selected");
     }
Se é a mesma coisa, pra que usamos os ternários? Pra economizar linhas e não nos perdermos no select. Se você preferir não usar os ternários, pode fazer o if todo em uma linha só, assim:
<?php if ($ano == 2004){ print("selected"); } ?>
Ou assim:
<?php if ($ano == 2004){ echo "selected"; } ?>

Eu falei dos ternários porque eles por padrão são usados em uma linha só, e em alguns casos podem nos ajudar muito com isso.

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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...