Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/02/2014, 15:33
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Misterio Php Between Mysql

Cita:
pero cuando se ejecuta desde php me funciona todo menos el BETWEEN
Eso, en principio, podría deberse a errores de programación (tema off topic en este foro), por lo que no podemos decirte por qué.
Además, no nos estás diciendo gran cosa cuando expresas "me funciona todo menos...".
¿No te funciona qué? ¿No devuelve datos? ¿Retorna un error de MySQL?
Si no devuelve datos, en el 99%99 de los casos es porque usaste variables que no contienen lo que tu supones que contienen (no exagero, el 99% de los casos que nos pregunta termina siendo eso).
Si no devuelve los datos esperados, entonces los parámetros son incorrectos (puede que las variables tengan la culpa), o bien no hay datos que cumplan lo que pides, cosa que sería un error de datos, y no de SQL.

Ahora bien, analizando la query, lo que yo veo es que tienes demasiadas condiciones LIKE, lo que me lleva a pensar en que es una consulta ineficiente.
No es recomendable hacer una consulta multiple de ese tipo, son propensas a traer mucha basura.
Pero es tu decisión.

Lo que si no me queda claro es qué se supone que queda armado en esta parte:

Código MySQL:
Ver original
  1. ...
  2. WHERE Productos.precio $precio
  3. ...

PD: Te recomiendo escribir las consultas de una forma estructurada, para que sean más fáciles de analizar y ver los erroes:
Código SQL:
Ver original
  1. SELECT
  2.     codigo,
  3.     grupo,
  4.     familia,
  5.     marca,
  6.     precio, ROUND(precio*40/100+precio,1) precio2,
  7.     stock, nombre,
  8.     CONCAT( SUBSTRING( caracteristicas, 1, 900 ) ,  '...' ) caracter,
  9.     IF( imagen =  '',  'http://www.fincasviladecans.com/img/no-imagen.jpg', imagen) imagen
  10. FROM
  11.     Productos
  12. WHERE
  13.     Productos.precio $precio
  14.     AND familia   LIKE '%".$busqueda."'
  15.     OR  familia   LIKE '%".$busqueda."%'  
  16.     OR  familia   LIKE '".$busqueda."'
  17.     OR  marca     LIKE  '%".$busqueda."'
  18.     OR  marca     LIKE '%".$busqueda."%'  
  19.     OR  marca     LIKE '".$busqueda."'
  20.     OR  nombre    LIKE  '%".$busqueda."'
  21.     OR  nombre    LIKE '%".$busqueda."%'  
  22.     OR  nombre    LIKE '".$busqueda."'  
  23. LIMIT $inicio, $filasxpagina
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)