Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/04/2008, 18:55
asc3design
 
Fecha de Ingreso: junio-2007
Ubicación: En Bogotá
Mensajes: 61
Antigüedad: 16 años, 10 meses
Puntos: 3
Re: Formulario de Busqueda con listas desplegables

Pues lo primero que tienes que hacer... es armarte las tablas en la base de datos por ejemplo carros, marca, modelo, categorias, carros2categorias.. este seria como un ejemplo para los dropmenus de ajax y conjugar las diferentes tablas en php... para este tipo de buscas es bueno usar match en sql.. fulltext, ya a la hora que tengas todas tus tablas echas ya puedes empezar con php puede ser con una funcion algo asi

Código PHP:
<?php 

   
function encontrar_carro($query_tipo NULL$query_marca NULL$query_modelo NULL){
   
db_conecion();
   
      
$select "SELECT 
                    carros.id
                    etc,
                    etc "
;
      
$from "FROM 
                    carros "
;
                    
      
$where "WHERE 
                    carros.id > 0 "
;
                    
      
$order " ORDER BY cars.id DESC";
      
      if(!empty(
$query_tipo)){
        
         
$select .= sprintf(", MATCH(title,location,description) 
                         AGAINST ('%s' IN BOOLEAN MODE) 
                         AS RELEVANSE "
mysql_real_escape_string($query_tipo)
                         );
        
$where .= sprintf("AND MATCH(title,location,description) AGAINST 
                                              ('%s' IN BOOLEAN MODE) "
,
                                              
mysql_real_escape_string($query_tipo)
                                              );
                                              
        
$order " ORDER BY relevance DESC";
      }
      
      if(!empty(
$query_marca)){
           
          
$from .= ", carros2categorias ";
          
          
$where .= sprintf("AND carros.id = carros2categorias.carro.id 
                                             AND carros2categorias.categoria_id = '%s'"
,
                                             
mysql_real_escape_string($query_marca)
                                             );
      
      }
      
      if(!empty(
$query_modelo)){
           
          
$from .= ", carros2modelo ";
          
          
$where .= sprintf("AND carros.id = carros2modelo.carro.id 
                                             AND carros2modelo.modelo_id = '%s'"
,
                                             
mysql_real_escape_string($query_modelo)
                                             );
      
      }
      
      
$query $select.$from.$where.$order;
      
      
$result mysql_query($query);
      
$result db_result_to_array($result);
    
    return 
$result;
   
   }
   
   function 
db_result_to_array($result){
    
    
$res_array = array();
    for(
$count=0$row mysql_fetch_array($result); $count++){
         
         
$res_array[$count] = $row;
    }
   return 
$res_array;
 }


?>
Código:
Te aclaro que esto es solo un ejemplo, para que te sirva de guía ni siquiera lo e probado lo saque de un buscador que tengo ya echo... pero con otros parámetros