requête SQL sur la base de données (avec custom field)

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] requête SQL sur la base de données (avec custom field)

    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

    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(); 
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

  • #2
    héhé, je profite que maintenant tout le monde est rentré pour faire un petit "up" de ma dernière question qui date du 20/12

    Une idée sur comment adapter mon query ci-dessus pour pouvoir aller chercher les Custom Fields ?

    Merciiiiiiiii !
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Alors non testé mais en théorie un truc comme ça (XX est l'id de ton custom field):

      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  AS a'
             
      .' INNER JOIN #__fields_values AS b ON a.id = b.item_id'
             
      .' SET a.state = 0 '
             
      .' WHERE a.catid in (23,22,24,26,25,27)'
             
      .' AND DATE(now() - INTERVAL 6 MONTH) >= b.value'
             
      .' AND b.value != ""'
             
      .' AND b.field_id = XX';
      $db->setQuery($query);
      $db->execute(); 
      Dernière édition par klarann18 à 09/01/2020, 16h08
      woluweb aime ceci.
      Plus c'est simple pour l'utilisateur, et plus c'est complexe pour le développeur, et vice versa

      Commentaire


      • #4
        Merciiii klarann18
        je teste ça ce w-e
        easyconnect83 aime ceci.
        Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

        Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

        Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

        Commentaire


        • #5
          ooopsie, j'ai oublié de donner le retour sur ce fil, désolé

          Hé bien ça marche nickel cette requête !
          easyconnect83 aime ceci.
          Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

          Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X