Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/08/2010, 20:02
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: duda tonta, pero no me resulta como quiero :(

Hola,

Posiblemente, el problema es de lógica, cuando la variable $nombre esté vacía va a hacer un match de todos los que 'no tengan nombre' y cualquier marca; la misma situación con la marca. Por lo tanto en ninguno de los dos casos va a funcionar.

En este caso hay cuatro posibilidades, que no tengas ni nombre ni marca, que tengas nombre pero sin marca, que no tengas nombre pero si marca, y el último que tengas nombre y marca.

Hay quienes lo resuleven con cuatro instrucciones SQL diferentes. Otros formando la instrucción SQL por partes. Por ejemplo, van creando la instrucción SQL dependiendo de los valores que te mandan:

Código PHP:
Ver original
  1. if (!empty($nombre)) {
  2.   SQL .= "nombre = $nombre and "
  3. }

http://www.forosdelweb.com/f18/consu...terios-732453/

Saludos,

ps:

La verdadera solución, a ver quien la agarra:
(('$nombre' = '' or mo.nombre = '$nombre') and ('$sel' = '' or mo.mar_id_marca = '$sel'));
(Evidentemente el otro post nadie la entendió)