inserer contenu dans base avec date ???

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

  • [RÉGLÉ] inserer contenu dans base avec date ???

    Bonjour, petit besoin du jour : Insérer du contenu sans passer par le formulaire conventionnel. J'ai besoin d'insérer des articles via formulaire simplifié que j'ai en place. Tout ok sauf que les dates de la table XXX_content sont obligatoires et bloquent mes INSERT
    mon code :

    $dt = new DateTime();
    $dt=date("Y-m-d H:i:s.u");
    $sql = "INSERT INTO XXX_content (title,created) VALUES ('AAAAAAA','$dt')";
    $sth = $dbh->exec($sql);

    Il n'en veut pas, j'ai aussi essayé avec
    $dt=date("Y-m-d H:i:s");

    Il n'en veut pas non plus, c'est quoi le bon format?

  • #2
    Bonjour,

    Je n'utilise pas en général les écritures "à la viking" (c'est le nom de mon cheval ) dans la base de données et je préfère les commandes Joomla telles qu'expliquées dans https://docs.joomla.org/Inserting,_U...g_JDatabase/fr

    Cependant, pour votre problème, je pense qu'il vient de votre $sql = "INSERT INTO XXX_content (title,created) VALUES ('AAAAAAA','$dt')";

    En effet, $dt est une variable php, donc, il faudrait essayer $sql = "INSERT INTO XXX_content (title,created) VALUES ('AAAAAAA','"+$dt+"')";

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Salut Pascal,
      merci pour la remarque, tout à fait justifiée, mais apres test, c'est pas ça...

      Commentaire


      • #4
        As-tu essayé de mettre now() ?

        Cela donnerait : $sql = "INSERT INTO XXX_content (title,created) VALUES ('AAAAAAA',now())";

        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          ouaip, pas d'issue de ce coté, cela me rend dingue...
          + j'ai retesté tout, connexion, code, etc, tout fonctionne, j'arrive à entrer des éléments dans d'autres tables qui n'ont pas de datetime...

          Commentaire


          • #6
            En testant la requête sous phpmyadmin, il y a plusieurs zones qui sont requises lorsque l'on insère une ligne dans _content : introtext, fulltext, images,..

            Elles n'ont pas de valeur par défaut et sont marquées "non null" dans la base de données.

            Pascal
            If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

            Commentaire


            • #7
              Hello.

              Pour créer des articles par programmation, voir cette discussion :
              Bonjour, Je veux créer un script qui me permette générer des articles depuis des fichiers textes sous Joomla 3 Le souci est que je ne sais pas où commencer et comment agencer ce script pour son intégration avec Joomla. Après mes recherches, la voie que j'ai choisi est de créer donc de créer mes objets articles et de
              A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
              Rejoignez le Joomla Users Groupe Alsace...
              roland_d_alsace va-t-il devenir roland_du_grand_est ?

              Commentaire


              • #8
                pour la variable en php: . '$var' .

                Commentaire


                • #9
                  Envoyé par pmleconte Voir le message
                  $dt est une variable php, donc, il faudrait essayer $sql = "INSERT INTO XXX_content (title,created) VALUES ('AAAAAAA','"+$dt+"')";
                  Comme signalé par lefabdu51, je n'étais pas réveillé VALUES ('AAAAAAA','".$dt."')" devrait mieux fonctionner (on est en php pas en js).

                  Pascal
                  If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

                  Commentaire


                  • #10
                    Pour interagir avec un composant, il faut utiliser les outils de celui-ci.

                    donc pour créer un article, il vaut mieux utiliser les outils de com_content, et au moins la classe JTable de la table #__content.
                    Un insert sql direct dans #__content sans aucun contrôle est a éviter absolument.

                    Du coup les dates, les JSON, etc... seront aussi traitées correctement.

                    La méthode est très simple voir ma réponse ci-dessus...
                    Dernière édition par roland_d_alsace à 28/07/2019, 14h01
                    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                    Rejoignez le Joomla Users Groupe Alsace...
                    roland_d_alsace va-t-il devenir roland_du_grand_est ?

                    Commentaire


                    • #11
                      ok, merci à tous, il y a des champs obligatoires, si j'inclus tous les champs dans ma requete sql (en incluant NULL ou '' si besoin de rien), cela fonctionne et l'insertion se fait bien.

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X