Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2012, 12:00
alvarols
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 11 meses
Puntos: 15
Consulta en PHP MySQL donde haga una búsqueda dependiendo si existen ciertos valores

Tengo una duda muy grande. Tengo una base de datos MySQL, y quiero hacer una consulta donde el cliente me diga cuales variables deben existir (que su valor no sea nulo).

Las variables son por ejemplo: Precio, Modelo, Marca (en realidad son muchas más)

Lo primero que haría es hacer el formulario de opción múltiple donde el usuario selecciones las variables que deben existir:

Código HTML:
Ver original
  1. <form name="buscar" method="post" action="resultados2.php" >
  2.                     <input type="checkbox" name="asunto3[]" id="1" value="Precio">Precio
  3.                     <input type="checkbox" name="asunto3[]" id="2" value="Modelo">Modelo<br />
  4.                     <input type="checkbox" name="asunto3[]" id="3" value="Marca">Marca
  5.                 </form>

Luego, como metí las variables en un array (porque con opción múltiple no se puede de otra forma). Extraigo el dato y le paso un implode:


Código PHP:
Ver original
  1. <?php
  2. $variables = $_POST['asunto3'];
  3. $variable = implode($variables,",");
  4. ?>

La variable $variable seguramente me va arrojar una cadena así: "marca, modelo". Dependiendo de las variables que haya seleccionado el cliente.

Lo normal sería crear el enunciado de MySQL en base al resultado a esta variable y usar condicionales. Por ejemplo:

Código PHP:
Ver original
  1. <?php
  2.     if ($variable == "marca, modelo") {$sql = "SELECT * FROM pedimento Where Modelo is not null AND Marca is not null" ;}
  3. ?>

De esta forma tengo que hacer uno por cada combinación. El problema es que son más de 6 variables y entonces son muchas las combinaciones que tengo que hacer. ¿No hay una forma más sencilla de hacer esto?

Se los agradecería.

Muchas gracias.