STR_TO_DATE función que no trabajan en Complexe Joomla consulta MySQL

votos
-3

Tengo una bruja consulta SQL devuelve los 3 formaciones más nuevas, pero Does'nt trabajo después de que he cambiado el tipo de columna fin_date de cadena hasta la fecha con el formato específico:

   $today = JFactory::getDate()->toFormat('%d/%m/%Y');
   // echo $today==> 18/12/2018

$query =  SELECT p.fin_date, pfr.product_name, p.ville
             . FROM #__virtuemart_products as p
             . LEFT JOIN #__virtuemart_products_fr_fr as pfr on pfr.virtuemart_product_id = p.virtuemart_product_id
             . WHERE p.published = 1   AND  p.product_parent_id != 0 AND str_to_date(p.fin_date,'%d/%m/%Y') >= $today 
             . LIMIT 4 
             ;

incluso lo cambio a:

$query =  SELECT str_to_date(p.fin_date,'%d/%m/%Y'), pfr.product_name, p.ville
             . FROM #__virtuemart_products as p
             . LEFT JOIN #__virtuemart_products_fr_fr as pfr on pfr.virtuemart_product_id = p.virtuemart_product_id
             . WHERE p.published = 1   AND  p.product_parent_id != 0 AND str_to_date(p.fin_date,'%d/%m/%Y') >= $today 
             . LIMIT 4 
             ;
Publicado el 18/12/2018 a las 11:12
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

No se puede comparar una fecha (la salida str_to_date), que estará en Y-m-dformato interno, a una cadena en d/m/Yformato. Es necesario que sea crear su $todayvariable en Y-m-dformato utilizando

$today = JFactory::getDate()->toFormat('%Y-%m-%d');

o convertirla en el interior de su consulta es decir,

str_to_date(p.fin_date,'%d/%m/%Y') >= str_to_date($today,'%d/%m/%Y')
Respondida el 18/12/2018 a las 11:59
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more