Michel M Postado Dezembro 1, 2010 Denunciar Share Postado Dezembro 1, 2010 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á informoumais 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Dezembro 2, 2010 Denunciar Share Postado Dezembro 2, 2010 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Michel M Postado Dezembro 2, 2010 Autor Denunciar Share Postado Dezembro 2, 2010 MLeandroJr!Sim vou dar uma olha melhor sim!Mais você pode me explicar so uma coisa o que imprime mesmoprint("selected") isso é algum tipo de função???....e um curiosidadedentro 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.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Dezembro 2, 2010 Denunciar Share Postado Dezembro 2, 2010 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Michel M Postado Dezembro 2, 2010 Autor Denunciar Share Postado Dezembro 2, 2010 Valeu muito obrigado...Agora eu entendi direito.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Michel M
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
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.