Buenas tardes a todos:
Estoy ingresando al la sección REPORTE --- CLIENTES --- PUNTOS DE PREMIOS y me muestra la información general correspondiente. Sin embargo, cuando intento hacer una búsqueda por fecha me muestra el siguiente error:
Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE(cr.date_added) >= '2012-08-06'DATE(cr.date_added) <= '2012-08-06' GROUP BY ' at line 1
Error No: 1064
SELECT cr.customer_id, CONCAT(c.firstname, ' ', c.lastname) AS customer, c.email, cgd.name AS customer_group, c.status, SUM(cr.points) AS points, COUNT(o.order_id) AS orders, SUM(o.total) AS total FROM customer_reward cr LEFT JOIN `customer` c ON (cr.customer_id = c.customer_id) LEFT JOIN customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) LEFT JOIN `order` o ON (cr.order_id = o.order_id) WHERE cgd.language_id = '2'DATE(cr.date_added) >= '2012-08-06'DATE(cr.date_added) <= '2012-08-06' GROUP BY cr.customer_id ORDER BY points DESC LIMIT 0,20 in /home1/xxxxxxxxx/public_html/system/database/mysql.php on line 49
ALGUIEN SABE COMO RESOLVERLO?
Uso OC 1.5.3.1. Dos idiomas y un tema o plantilla.
Muchas gracias anticipadas...
Hola ddm,
Viendo la consulta SQL veo que no es correcta.
A continuación te la pongo corregida a nivel e sintaxis.
El problema para tí, supongo que será encontrar donde está la consulta. Podrías buscar trozos de la query por todos los archivos de opencart para ver si la encuentras.
Si necesitas ayuda ponte en contacto conmigo.
Un saludo.
Viendo la consulta SQL veo que no es correcta.
A continuación te la pongo corregida a nivel e sintaxis.
El problema para tí, supongo que será encontrar donde está la consulta. Podrías buscar trozos de la query por todos los archivos de opencart para ver si la encuentras.
Code: Select all
SELECT cr.customer_id,
CONCAT(c.firstname, ' ', c.lastname) AS customer,
c.email,
cgd.name AS customer_group,
c.status,
SUM(cr.points) AS points,
COUNT(o.order_id) AS orders,
SUM(o.total) AS total
FROM customer_reward cr
LEFT JOIN `customer` c ON (cr.customer_id = c.customer_id)
LEFT JOIN customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id)
LEFT JOIN `order` o ON (cr.order_id = o.order_id)
WHERE cgd.language_id = '2' DATE(cr.date_added) >= '2012-08-06' DATE(cr.date_added) <= '2012-08-06'
GROUP BY cr.customer_id
ORDER BY points DESC LIMIT 0,20
Un saludo.
Gracias por la pronta respuesta.
Yo no he comprado ninguna extensión que modifique los reportes o ninguna relacionada a los Puntos de Premios.
¿Podríamos estar hablando de un bug o error del OC 1.5.3.1?
¿Tú ha probado en tu tienda si el reporte de Puntos de Premios filtrado por fechas te funciona correctamente?
(eso está en: REPORTES --- CLIENTES --- PUNTOS DE PREMIOS)
Yo revisé mi log de errores a través del VQMOD Manager y no mostró ningun error relacionado.
Saludos,
@ddm
Yo no he comprado ninguna extensión que modifique los reportes o ninguna relacionada a los Puntos de Premios.
¿Podríamos estar hablando de un bug o error del OC 1.5.3.1?
¿Tú ha probado en tu tienda si el reporte de Puntos de Premios filtrado por fechas te funciona correctamente?
(eso está en: REPORTES --- CLIENTES --- PUNTOS DE PREMIOS)
Yo revisé mi log de errores a través del VQMOD Manager y no mostró ningun error relacionado.
Saludos,
@ddm
Hola ddm,
No tengo la versión 1.5.3 instalada actualmente. Pero he entrado directamente al codigo para verlo.
He encontrado donde se ejecuta la consulta SQL.
En el archivo /admin/model/report/customer.php
Y he detectado el error de sintaxis que te comentaba:
En la línea 64 verás:
Cuando en principio debería ser:
Si te fijas, solo faltaba añadir un espacio antes de la cadena de texto
Espero haberte ayudado.
Si tienes alguna consulta no dudes en ponerte en contacto conmigo.
Un saludo!
No tengo la versión 1.5.3 instalada actualmente. Pero he entrado directamente al codigo para verlo.
He encontrado donde se ejecuta la consulta SQL.
En el archivo /admin/model/report/customer.php
Y he detectado el error de sintaxis que te comentaba:
En la línea 64 verás:
Code: Select all
if (!empty($data['filter_date_start'])) {
$sql .= "DATE(cr.date_added) >= '" . $this->db->escape($data['filter_date_start']) . "'";
}
if (!empty($data['filter_date_end'])) {
$sql .= "DATE(cr.date_added) <= '" . $this->db->escape($data['filter_date_end']) . "'";
}
Cuando en principio debería ser:
Code: Select all
if (!empty($data['filter_date_start'])) {
$sql .= " DATE(cr.date_added) >= '" . $this->db->escape($data['filter_date_start']) . "'";
}
if (!empty($data['filter_date_end'])) {
$sql .= " DATE(cr.date_added) <= '" . $this->db->escape($data['filter_date_end']) . "'";
}
Si te fijas, solo faltaba añadir un espacio antes de la cadena de texto
Code: Select all
DATE(cr.date_added)
Espero haberte ayudado.
Si tienes alguna consulta no dudes en ponerte en contacto conmigo.
Un saludo!
Ahora que me fijo, pasa lo mismo en la linea 96 de ese mismo archivo antes de la cadena de texto "DATE(cr.date_added)" falta un espacio; quedando así: " DATE(cr.date_added)".
Saludos!
Saludos!
Who is online
Users browsing this forum: No registered users and 124 guests