str_to_date Funktion nicht in complexe mysql query joomla Arbeits

stimmen
-3

Ich habe eine SQL-Abfrage Hexe die drei neuesten Formationen gibt, aber es does'nt Arbeit, nachdem ich den fin_date Spaltentyp von Zeichenfolge auf dem Laufenden mit bestimmten Format geändert haben:

   $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 
             ;

selbst ändere ich es:

$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 
             ;
Veröffentlicht am 18/12/2018 um 11:12
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Sie können kein Datum (die Ausgabe von vergleichen str_to_date), die in seine Y-m-dintern Format, in eine Zeichenfolge im d/m/YFormat. Sie müssen entweder Ihre erstellen $todayVariable im Y-m-dFormat

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

oder wandeln sie in Ihrer Abfrage dh

str_to_date(p.fin_date,'%d/%m/%Y') >= str_to_date($today,'%d/%m/%Y')
Beantwortet am 18/12/2018 um 11:59
quelle vom benutzer

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