importer des données de formulaire BreezingForms

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

  • [Problème] importer des données de formulaire BreezingForms

    Bonjour,
    Je voudrais importer les renseignements obtenus avec un formulaire BreezingForms pour les publier sur le site public sous forme de catalogue. J'ai fouiné sur bien des forums et dans de nombreux tuto. J'ai cru comprendre que je devais insérer du code PHP dans un article et pour ce faire, j'ai installé "Sourcerer".
    Le problème semble venir de la table qui n'a pas une structure qui ressemble aux tables exemple des tutos. Là, il semble que chaque champ corresponde à un enregistrement (si bien que mon petit formulaire renvoie 7 ou 8 lignes dans la table f38ra_facileforms_records qui contient les données des formulaire; et donc, une instruction telle que
    {?php
    while ($donnees = $reponse->fetch())
    {
    ?>
    <p>
    <strong>Jeu</strong> : <?php echo $donnees['titre']; ?>
    ...etc
    me déclenche une erreur
    Parse error: syntax error, unexpected 'titre' (T_STRING) in C:\xampp\htdocs\essais\acces_base.php on line 18

    Je joins une "copie" de la table en question, et de laquelle je ne voudrais retirer que les renseignements du champ 'value' mais en les regroupant par 6, 7 ou 8, comme ils étaient rentrés dans le formulaire ! ! !

    Mes connaissances en PHP ne sont que celles d'un débutant, mais qui demande à grandir.
    Merci pour toute aide
    Fichiers joints

  • #2
    Re : importer des données de formulaire BreezingForms

    Bonjour,

    Le contenu de chaque form se trouve dans les subrecords, avec un enregistrement par champ du formulaire.

    Le select doit se faire sur #__facileforms_subrecords
    Code PHP:
    $query 'SELECT * FROM #__facileforms_subrecords WHERE record=' $record_voulu ;
    $db JFactory::getDbo() ;
    $db->setQuery$query ) ;
    $res $db->loadObjectList() ;
    foreach ( 
    $res as $rec ) {
       
    // ton bidouillage sur les records

    Ce n'esdt qu'un snippet indiquant la démarche, pas le code réel adapté à ton formulaire particulier.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : importer des données de formulaire BreezingForms

      Merci de t'intéresser à mon problème. J'ai bien intégré ton code mais ...

      $db = JFactory::getDbo() ;

      Cette ligne me renvoie une erreur :

      Fatal error: Class 'JFactory' not found in C:\xampp\htdocs\essais\base.php on line 11

      et je ne vois pas où je suis !

      Commentaire


      • #4
        Re : importer des données de formulaire BreezingForms

        Fatal error: Class 'JFactory' not found in C:\xampp\htdocs\essais\base.php on line 11
        A quoi rime ce base.php, qui n'est pas du Joomla! ?

        Le code sourcerer doit normalement être directement intégré dans le corps de l'article, et non dans un fichier externe. En intégrant directement le code dans l'article, tu as accès au framework Joomla!, et donc entre autres aux classes de base, dont JFactory et JDatabase.

        Dans un fichier externe, il faut commencer par importer le framework Joomla! avant de l'utiliser.
        Code PHP:
        define('_JEXEC'1);
        define('JPATH_BASE'__DIR__);
        require_once 
        JPATH_BASE '/includes/defines.php';

        $app JFactory::getApplication('site');
        // et le reste du code personnel utilisant le framework 
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : importer des données de formulaire BreezingForms

          base.php est un fichier d'essai que je faisais en dehors de joomla.
          Je vais essayer de créer un article avec ce code PHP dans mon site local pour tester.
          A plus tard

          Commentaire


          • #6
            Re : importer des données de formulaire BreezingForms

            ça ne donne rien dans un article joomla et comme il ne précise pas l'erreur, j'ai concocté un nouveau fichier externe pour tester.Ce fichier s'appelle acces.php

            <?php
            define('_JEXEC', 1);
            define('JPATH_BASE','localhost/joomla3');
            require_once JPATH_BASE . '/includes/defines.php';
            $app = JFactory::getApplication('localhost/joomla3');
            $query = 'SELECT * FROM #__facileforms_subrecords WHERE record=' . $titre ;
            $db = JFactory::getDbo() ;
            $db->setQuery( $query ) ;
            $res = $db->loadObjectList() ;
            foreach ( $res as $rec ) {
            // ton bidouillage sur les records
            echo $res;
            }

            ?>[/INDENT]

            et voilà le message obtenu :
            Warning: require_once(localhost/joomla3/includes/defines.php): failed to open stream: No such file or directory in C:\xampp\htdocs\essais\acces.php on line 4

            Fatal error: require_once(): Failed opening required 'localhost/joomla3/includes/defines.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\essais\acces.php on line 4

            pourtant le fichier define.php existe bien dans ce répertoire !

            Je finis par être complètement perdu et je me demande si ça vaut vraiment le coup que je continue.
            Je ne t'en voudrai pas si tu décides d'arrêter ton assistance, mais pourrais-tu au moins me conseiller un bon tuto.
            J'ai déjà suivi le cours du zéro, mais je ne reconnais pas la structure de ma table.

            Commentaire


            • #7
              Re : importer des données de formulaire BreezingForms

              Ton "localhost/joomla3" ne doit pas exister en tant que répertoire physique sur ton disque...

              Pour être certain d'avoir le bon chemin utiliser exactement ce qui est mis dans le snippet de code, à savoir utiliser la constante PHP __DIR__ et non autre chose
              Pas de demande de support par MP.
              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

              Commentaire


              • #8
                Re : importer des données de formulaire BreezingForms

                J'ai refait mon fichier comme tu m'avais montré (enfin je crois)
                <?php
                define('_JEXEC', 1);
                define('JPATH_BASE',_DIR_);
                require_once JPASS_BASE. '/includes/defines.php';

                $app = JFactory::getApplication('site');
                $query = 'SELECT * FROM #__facileforms_subrecords WHERE record=' . $titre ;
                $db = JFactory::getDbo() ;
                $db->setQuery( $query ) ;
                $res = $db->loadObjectList() ;
                foreach ( $res as $rec ) {
                // ton bidouillage sur les records
                echo $res.$rec;
                }

                ?>
                ceci dans un fichier à côté de mon site local
                et voilà la réponse:

                Notice: Use of undefined constant _DIR_ - assumed '_DIR_' in C:\xampp\htdocs\essais\acces.php on line 3

                Notice: Use of undefined constant JPASS_BASE - assumed 'JPASS_BASE' in C:\xampp\htdocs\essais\acces.php on line 4

                Warning: require_once(JPASS_BASE/includes/defines.php): failed to open stream: No such file or directory in C:\xampp\htdocs\essais\acces.php on line 4

                Fatal error: require_once(): Failed opening required 'JPASS_BASE/includes/defines.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\essais\acces.php on line 4

                Commentaire


                • #9
                  Re : importer des données de formulaire BreezingForms

                  De ce que je lis, on a
                  underscore DIR underscore, alors que le code donné utilise la constante PHP underscore underscore DIR underscore underscore

                  Donc 2 caractères soulignés avant et après DIR !

                  Ce n'est quand même pas la mort d'utiliser le copier-coller pour ne pas faire d'erreurs aussi grossières.
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : importer des données de formulaire BreezingForms

                    J'ai repris mes études et voilà ce que j'ai inséré dans un article de joomla :
                    <?php
                    try
                    { $bdd = new PDO('mysql:host=localhost;dbname=frru', 'root', '');}
                    catch (Exception $e)
                    { die('Erreur : ' . $e->getMessage());}
                    echo 'ça marche !'.'<br />'.'J\'écris les titres : '.'<br /.>';
                    $reponse = $bdd->query('SELECT * FROM f38ra_facileforms_subrecords ');
                    WHILE ($donnees = $reponse->fetch())
                    { echo $donnees['value'].' <br />';}
                    ?>


                    Je suis enfin parvenu à faire afficher quelque chose, mais sans distinction des différents champs du formulaire. Dans ma table, j'ai un champ "record" qui porte le même numéro pendant les 7 ou 8 enregistrements qui correspondent aux champs de mon formulaire; comment faire pour regrouper ces enregistrement dans la même "ligne" de données ? Il faudrait faire reconnaître ce champ et sa valeur pour pouvoir rassembler les "value" correspondants ....
                    Je cale !
                    Fichiers joints

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X