Projetos Lucas Peperaio Códigos e Aplicativos úteis para a Internet

Base de Dados FIPE – SQL

Este arquivo SQL contém a base de dados FIPE, um catálogo com mais de 17 mil marcas e modelos de carros, nacionais e importados. Além disso, possui também todos os modelos lançados anualmente e o preço de cada veículo

Exemplo de Utilização

<?php 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="" 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</option>
                    <?php
                    $query = mysql_query( "select * from marca" );
                    while( $marcas = mysql_fetch_array( $query ) ): ?>
                        <option value="<?php echo $marcas['id'] ?>"><?php echo $marcas['nome'] ?></option>
                    <?php endwhile; ?>
                </select>
            </label>
            <label for="modelo">Modelo: <select name="modelo" class="input-medium" id="modelo"></select></label>  
            <label for="tipo">Ano: <select name="tipo" class="input-medium" id="tipo"></select></label>                      
        </fieldset>
    </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('');
				},
				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...</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...</option>');
				},
				success: function(response){ 
					ano_modelo = response.split(",");
					if(ano_modelo.length > 0){
						$("#tipo").html('').append('<option selected="selected">Selecione...</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>

Script para obter os modelos

<?php
	ob_start();
	include( "conexao.php" );
	
	$marca = protect( $_POST['marca'] );
	$query = mysql_query( "select * from modelo where marca = $marca" );
	$modelos = array();
	
	while( $x = mysql_fetch_array( $query ) ) {
		$modelos[] = $x['nome'] . "|" . $x['id'] ;
	} 
	
	echo implode( ",", $modelos );
?>

Script para obter as versões de cada carro

<?php
	ob_start();
	include( "conexao.php" );
	
	$modelo = protect( $_POST['modelo'] );
	$query = mysql_query( "select * from ano_modelo where modelo = $modelo" );
	$modelos = array();
	
	while( $x = mysql_fetch_array( $query ) ) {
		$modelos[] = $x['nome'];
	} 
	
	echo strip_tags( implode( ",", $modelos ) );
?>

Conexão com o banco de dados (altere conforme necessário)

<?php
	$link = mysql_connect( "SERVIDOR", "USUARIO", "SENHA");
	mysql_select_db( "fipe", $link );
	mysql_set_charset('utf8'); 
	mysql_query("SET NAMES 'utf8'");
	mysql_query('SET character_set_connection=utf8');
	mysql_query('SET character_set_client=utf8');
	mysql_query('SET character_set_results=utf8');
	
	function protect( $str )
	{
		if( !is_array( $str ) ) {			
			$str = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $str);
			$str = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $str);
			$str = str_replace("<script","",$str);
			$str = str_replace("script>","",$str);
			$str = str_replace("<Script","",$str);
			$str = str_replace("Script>","",$str);
			$str = trim($str);
			$tbl = get_html_translation_table(HTML_ENTITIES);
			$tbl = array_flip($tbl);
			$str = addslashes($str);
			$str = strip_tags($str);
			return strtr($str, $tbl);
		} 
		else return $str;
	}
?>

Exemplo e Download
Exemplo | Download

Pesquisas
© 2011 - 2012
Desenvolvido e Mantido por Lucas Peperaio