Bonjour à tous,
J'aurais besoin d'un petit coup de main pour bien formuler une requête SQL.
J'explique le besoin : le but est de dépublier automatiquement (via une tâche CRON qui exécute le fichier PHP suivant) les articles de certaines catégories lorsqu'ils ont dépassé une certaine date.
Cette date n'est pas la date de création ou de publication mais une "autre date".
Au départ, pour faire simple, j'ai simplement dévoyé le champ "created_by_alias" où j'introduit à la main un date du genre yyyy-mm-dd hh:mm.
Et le code PHP ci-après fonctionne, yeah !
Mais il y a deux petits soucis :
- en français l'interface affiche la date au format dd-mm-yyyy et pas yyyy-mm-dd, donc c'est pertubant pour un utilisateur de saisir une date "à l'envers"
- et en plus, on n'a pas le date picker puisque je dévoie un champ qui au départ est un champ texte
Bref, vous me voyez venir, ce serait qd même vachement plus cool d'utiliser un Custom Field (Champ Personnalisé) de type Date.
Mais alors comment faut-il reformuler le query ci-dessous ?
Merci pour votre aide
J'aurais besoin d'un petit coup de main pour bien formuler une requête SQL.
J'explique le besoin : le but est de dépublier automatiquement (via une tâche CRON qui exécute le fichier PHP suivant) les articles de certaines catégories lorsqu'ils ont dépassé une certaine date.
Cette date n'est pas la date de création ou de publication mais une "autre date".
Au départ, pour faire simple, j'ai simplement dévoyé le champ "created_by_alias" où j'introduit à la main un date du genre yyyy-mm-dd hh:mm.
Et le code PHP ci-après fonctionne, yeah !
Mais il y a deux petits soucis :
- en français l'interface affiche la date au format dd-mm-yyyy et pas yyyy-mm-dd, donc c'est pertubant pour un utilisateur de saisir une date "à l'envers"
- et en plus, on n'a pas le date picker puisque je dévoie un champ qui au départ est un champ texte
Bref, vous me voyez venir, ce serait qd même vachement plus cool d'utiliser un Custom Field (Champ Personnalisé) de type Date.
Mais alors comment faut-il reformuler le query ci-dessous ?
Merci pour votre aide
Code PHP:
define('_JEXEC', 1);
define('JPATH_BASE', realpath(dirname(__FILE__) . '/'));
require_once JPATH_BASE . '/includes/defines.php';
require_once JPATH_BASE . '/includes/framework.php';
$db = JFactory::getDBO();
$query= "update #__content set state = 0 where catid in (23,22,24,26,25,27) and DATE(now() - INTERVAL 6 MONTH) >= created_by_alias and created_by_alias<>''";
$db->setQuery($query);
$db->execute();
Commentaire