Pegar valores de select e salvar em uma Session
25/11/2013
0
Ao fazer um Select utilizando combobox, após escolher as três opções, não estou conseguindo pegar os valores selecionado e armazenar eles em uma Session para uso futuro.
Estou fazendo assim:
index.php
<?php session_start(); session_destroy(); include("conexao.php") ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/bootstrap.css" /> <title>Base de Dados FIPE</title> </head> <body> <form action="categorias.php" method="post" enctype="application/x-www-form-urlencoded" id="form"> <fieldset> <legend><img src="img/car.png" width="30" height="30" align="absmiddle" /> Automóvel</legend> <label for="marca">Marca: <select name="marca" class="input-medium" id="marca"> <option name="" selected="selected">Selecione Montadora</option> <?php $query = mysql_query( "select * from montadoras" ); while( $montadoras = mysql_fetch_array( $query ) ): ?> <option value="<?php echo $montadoras['codigo_mon'] ?>"><?php echo $montadoras['nome_mon'] ?></option> <?php endwhile; ?> </select> </label> <label for="modelo">Modelo: <select name="modelo" class="input-medium" id="modelo"> <option value="0">Aguardando Marca...</option> </select> </label> <label for="tipo">Ano: <select name="tipo" class="input-medium" id="tipo"> <option value="0">Aguardando Modelo...</option> </select> </label> </fieldset> <input type="submit" value="send" id="send" name="send" /> </form> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#marca").change(function(){ marca = $(this).attr('value'); $.ajax({ type: "post", url: "get_modelos.php", data: "marca="+marca+"", async: false, cache: false, datatype: "text", beforeSend: function(){ $("#modelo").html('<option value="" selected="selected">Aguarde...</option>'); $("#tipo").html('<option value="" selected="selected">Aguardando Modelo...</option>'); }, success: function(response){ x = response.split(","); modelo = new Array(); for(i = 0; i < x.length; i++){ modelo[i] = x[i].split("|"); } if(modelo.length > 0){ $("#modelo").html('').append('<option selected="selected">Selecione o Modelo...</option>'); for(i = 0; i < modelo.length; i++) { $("#modelo").append('<option value='+modelo[i][1]+'>'+modelo[i][0]+'</option>'); } } }, error: function(){ } }); }); $("#modelo").change(function(){ modelo = $(this).attr('value'); $.ajax({ type: "post", url: "get_ano_modelos.php", data: "modelo="+modelo+"", async: false, cache: false, datatype: "text", beforeSend: function(){ $("#tipo").html('<option value="" selected="selected">Aguarde Modelo...</option>'); }, success: function(response){ ano_modelo = response.split(","); if(ano_modelo.length > 0){ $("#tipo").html('').append('<option selected="selected">Selecione o Ano...</option>'); for(i = 0; i < ano_modelo.length; i++) { $("#tipo").append('<option value="'+ano_modelo[i]+'">'+ano_modelo[i]+'</option>'); } } }, error: function(){ } }); }); }); </script> </body> </html>
get_modelos
<?php ob_start(); include( "conexao.php" ); $marca = protect( $_POST['marca'] ); $query = mysql_query( "select * from modelos where codigomon_mod = $marca" ); $modelos = array(); while( $x = mysql_fetch_array( $query ) ) { $modelos[] = $x['nome_mod'] . "|" . $x['codigo_mod'] ; } echo implode( ",", $modelos ); ?>
get_ano_modelos
<?php ob_start(); include( "conexao.php" ); $modelo = protect( $_POST['modelo'] ); $query = mysql_query( "select * from modelosxanos where codigomod_mxa = $modelo" ); $modelos = array(); while( $x = mysql_fetch_array( $query ) ) { $modelos[] = $x['nome_mxa']; } echo strip_tags( implode( ",", $modelos ) ); ?>
Na página que seria categorias.php é onde eu receberia estes dados, mas só consegui pegar o ID. Mas preciso do ID e do Nome.
Alguém poderia dar uma ajuda?
Desde já agradeço.
Adilson Rumao
Posts
26/11/2013
William
- modelos
- modelosxanos
Poste o código que você já tem pronto desse categoria.php.
26/11/2013
America Informatica
<?php session_start(); include("conexao.php") ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/bootstrap.css" /> <title>Base de Dados FIPE Categorias</title> </head> <body> Código Carro = <?php echo $_POST['modelo']; ?><br /> Ano Carro = <?php echo $_POST['tipo']; ?> <?php $_SESSION['veiculos']['modelo'] = $_POST['modelo']; $_SESSION['veiculos']['ano'] = $_POST['tipo']; echo '<br /><br />'; echo 'Pegando pela Session:<br />'; echo '<pre>'; print_r($_SESSION); ?> </body> </html>
26/11/2013
Adilson Rumao
[url]http://projetos.lucaspeperaio.com.br/base-dados-fipe-sql/[/url]
[url]http://projetos.lucaspeperaio.com.br/fipe/[/url]
03/12/2013
Adilson Rumao
1º após filtrar os dados na página de categoria faço um select pegando pelo id que vem via POST
2º após o select gravo os valores que preciso em uma SESSION
Ficou assim:
//Pega valores passados via POST para consulta do Veículo $anoModelo = (int)$_POST['ano']; $placaModelo = strip_tags(trim($_POST['placa'])); <?php $sql = "SELECT * FROM modelosxanos a LEFT JOIN modelos b on b.codigo_mod = a.codigomod_mxa WHERE codigo_mxa = '$anoModelo'"; $qry = mysql_query($sql)or die("Erro ao consultar!"); $row = mysql_num_rows($qry); if($row == 1): while($reg = mysql_fetch_array($qry)): $nomeVeiculo = $reg['nome_mod']; $anoVeiculo = $reg['nome_mxa']; //Armazena dados do veículo na Session $_SESSION['veiculo']['nome'] = utf8_encode($nomeVeiculo); $_SESSION['veiculo']['ano'] = $anoVeiculo; $_SESSION['veiculo']['placa'] = strtoupper($placaModelo); endwhile; endif; ?>
Aos que tentaram ajudar muito obrigado.
Clique aqui para fazer login e interagir na Comunidade :)