Ver Mensaje Individual
  #20 (permalink)  
Antiguo 06/07/2005, 09:46
pellagofio
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 5 meses
Puntos: 2
Te paso un función que me construí para solventar un problema parecido al tuyo.



Código PHP:
//Función que construye el query. 
function genera_query($cadena,$condicion

  
$pos=strpos($cadena,"where"); 

  if (
$pos === false
      
$cadena=$cadena." where "
  if (
$pos !== false
      
$cadena=$cadena." and "

  
$cadena=$cadena.$condicion
  return 
$cadena


//Construir el query dependiendo de las variables recibidas del formulario. 
if ($busqueda!=""
   
$mysql_string=genera_query ($mysql_string,"Comun.Nombre LIKE '%$busqueda%'"); 

if (
$resumen!=""
   
$mysql_string=genera_query ($mysql_string,"Comun.Resumen LIKE '%$resumen%'"); 

if (
$comentario!=""
   
$mysql_string=genera_query ($mysql_string,"Comun.Comentario LIKE '%$comentario%'"); 

if (
$comentario_cineforum!=""
   
$mysql_string=genera_query ($mysql_string,"Comun_Pelicula.texto_cineforum LIKE '%$comentario_cineforum%'"); 

if (
$genero!=""
   
$mysql_string=genera_query ($mysql_string,"r_cine_genero.id_genero_cine LIKE '%$genero%'"); 
Lo que hacemos es verificar si cada variable recibida desde el formulario que usamos para seleccionar los campos de busqueda esta vacia o no.
En caso de que NO este vacia añadimos la condición de busqueda para esa variable en el query.
La función se encarga de anteponer un AND o el WHERE con lo cual nosotros unicamente nos centramos en pasarle la condición de busqueda que realmente queremos que se realize.


Para mis necesidades me ha facilitado mucho el trabajo.
Espero que te ayude.