Community builder et impression de liste.

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

  • #16
    Re : Community builder et impression de liste.

    Par exemple
    Code PHP:
    <?php
    define
    '_JEXEC'); 

    define'JPATH_BASE'__DIR__  ) ); 
    // print this out or observe errors to see which directory you should be in 
    //(this is two subfolders in) 
     
    require_once ( JPATH_BASE '/includes/defines.php' ); 
    require_once ( 
    JPATH_BASE '/includes/framework.php' ); 
    require_once ( 
    JPATH_CONFIGURATION '/configuration.php' ); 
    require_once ( 
    JPATH_LIBRARIES '/joomla/database/database.php' ); 
    require_once ( 
    JPATH_LIBRARIES '/joomla/access/access.php' ); 
    require_once ( 
    JPATH_LIBRARIES '/import.php' ); 

    /**
    * Utiliser la gestion de base de données de Joomla! puisqu'on a importé le framework.
    */
    $db JFactory::getDBO() ;

    // Create a query 
    $list_this_many 100;

    // pour une requête dans les tables CB + user tenter d'optimiser
    $user = array( 'u.id AS id''u.name AS name''u.username AS username''u.email AS email' ) ;
    $cbuser = array( 'c.cb_gsm_sevice AS GSM''c.cb_code_postal AS ZIP' ) ;

    $query 'SELECT ' implode', '$user ) . implode', '$cbuser ) .
        
    'FROM #__users AS u, #__comprofiler as c ' .
        
    'WHERE c.user_id = u.id ' .
        
    'ORDER BY u.registerDate ' .
        
    'LIMIT 0, ' $list_this_many ;

    $db->setQuery$query ) ;
    $result $db->loadObjectList() ;
    $user_count $db->getNumRows() ;
    // ou alternativement
    // $user_count = count( $result ) ;

    $output '<html> 
    <head> 
            <title>Joes Joomla Users script</title> 
            <style> 
                    body{font-family:Verdana;font-size:75%;} 
                    table{width:100%;} 
                    th{text-align:left;padding:2px;font-size:75%;} 
                    td{white-space:nowrap;padding:2px;font-size:75%;} 
                    div{font-weight:700;} 
                    .even{background-color:#eee;} 
            </style> 
    </head><body>'

    $output .= '<h1>Users in `'.$db_prefix.'users`</h1><table>'
    $output .= '<tr><th>Name</th><th>Username</th><th>E-mail</th><th>GSM</th><th>Code postal</th> <th>Created</th></tr>'

    /**
    * Utiliser une boucle foreach pour itérer dans la table des résultats
    */
    foreach ( $result as $row )
    {
        
    // et on en fait ce qu'on veut
        
    $output .= "\n<tr> " ;
        
    $output .= '<td>' $row->name '</td><td>' $row->username '</td><td>' $row->email .
            
    '</td><td>' $row->GSM '</td><td>' $row->ZIP '</td></tr>' ;



    // close off output 
    $output .= '</table><br />'
    $output .= '<div>Total User(s): '.$user_count.'</div>'
    $output .= '</body></html>'

    // print out output 
    echo $output;
    a de grandes chances de fonctionner correctement.
    Pour la requête, il y a juste une jointure implicie entre les tables #__users et #__comprofiler, sur l'ID user.
    Dernière édition par jisse03 à 14/04/2015, 08h33
    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


    • #17
      Re : Community builder et impression de liste.

      Merci pour ton aide. Je testerai tout cela ce soir. Je ne manquerai pas de revenir ici avec le résultat. Encore merci.
      Cordialement,
      carabao

      Site dédié à la caravane & au camping: www.caravane-camping.be

      Commentaire


      • #18
        Re : Community builder et impression de liste.

        je viens de regarder ton script, encore merci.

        Mais j'ai un petit soucis de page blanche.

        J'ai juste insérer en première ligne {sourcer} et après la dernière ligne (echo $output) , j'ai ajouté: ?> {/sourcer}

        Mais lorsque j'appelle l'article (via un lien d'un menu) contenant le script, j'ai une page blanche.
        Cordialement,
        carabao

        Site dédié à la caravane & au camping: www.caravane-camping.be

        Commentaire


        • #19
          Re : Community builder et impression de liste.

          Si tu l'inclus via Sourcerer, il est possible qu'il y ait des problèmes, d'autant plus qu eje t'ai donné du code rapidement écrit

          Mais avec sourcerer
          Code PHP:
          <?php
          {source}
          $db JFactory::getDBO() ;
          $list_this_many 100;
          $user = array( 'u.id AS id''u.name AS name''u.username AS username''u.email AS email' ) ;
          $cbuser = array( 'c.cb_gsm_sevice AS GSM''c.cb_code_postal AS ZIP' ) ;
          $query 'SELECT ' implode', '$user ) . implode', '$cbuser ) .
              
          'FROM #__users AS u, #__comprofiler as c ' .
              
          'WHERE c.user_id = u.id ' .
              
          'ORDER BY u.registerDate ' .
              
          'LIMIT 0, ' $list_this_many ;
          $db->setQuery$query ) ;
          $result $db->loadObjectList() ;
          $user_count $db->getNumRows() ;
          $output '<html>
          <head>
                  <title>Joes Joomla Users script</title>
                  <style>
                          body{font-family:Verdana;font-size:75%;}
                          table{width:100%;}
                          th{text-align:left;padding:2px;font-size:75%;}
                          td{white-space:nowrap;padding:2px;font-size:75%;}
                          div{font-weight:700;}
                          .even{background-color:#eee;}
                  </style>
          </head><body>'
          ;
          $output .= '<h1>Users in `'.$db_prefix.'users`</h1><table>';
          $output .= '<tr><th>Name</th><th>Username</th><th>E-mail</th><th>GSM</th><th>Code postal</th> <th>Created</th></tr>';

          foreach ( 
          $result as $row )
          {
              
          $output .= "\n<tr> " ;
              
          $output .= '<td>' $row->name '</td><td>' $row->username '</td><td>' $row->email .
                  
          '</td><td>' $row->GSM '</td><td>' $row->ZIP '</td></tr>' ;
          }

          $output .= '</table><br />';
          $output .= '<div>Total User(s): '.$user_count.'</div>';
          $output .= '</body></html>';
          ?>
          {/source}
          devrait être bon.
          En effet, Sourcerer fonctionnant dans l'espace Joomla!, les définitions et le framework sont déjà là, un double chargement pouvant provoquer des erreurs d'évaluation.
          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


          • #20
            Re : Community builder et impression de liste.

            Encore merci. J'obtiens une erreur mysql

            1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.cb_gsm_sevice AS GSM, c.cb_code_postal AS ZIPFROM xvpn7_users AS u, xvpn7_compr' at line 1 SQL=SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS emailc.cb_gsm_sevice AS GSM, c.cb_code_postal AS ZIPFROM xvpn7_users AS u, xvpn7_comprofiler as c WHERE c.user_id = u.id ORDER BY u.registerDate LIMIT 0, 100


            Après la ligne $output = '<html>, il en faut pas un ; c'est ajouté
            J'ai modifié cb_code_postal en cb_codepostal (vérifié dans phpmyadmin)

            Mais rien ne change.

            EDIT
            Mais en relisant, après $output = '<html> ,j'ai ajouté en plus un ' pour avoir au final $output = '<html>';

            Plus de message d'erreur mais une page blanche.

            Je vois que tu as des variables $output , mais ne faut-il pas mettre des echo pour afficher le résultat ?

            De plus comme le script est insérer dans un article, faut-il mettre les balises head, html dans le script ? Ne sont-elles déjà pas présentes dans le contenu principal.

            Maintenant, si je passe via un fichier php séparé et que j'appelle via un lien dns le contenu , est-ce le fonctionnement est différent par rapport à l'utilisation des balises {source}

            merci
            Dernière édition par carabao à 14/04/2015, 16h10
            Cordialement,
            carabao

            Site dédié à la caravane & au camping: www.caravane-camping.be

            Commentaire


            • #21
              Re : Community builder et impression de liste.

              modifies la ligne
              Code PHP:
              ' FROM #__users AS u, #__comprofiler as c ' 
              en mettant un espace avant le FROM.

              Je n'ai pas testé ce code sur un site réel, puisque écrit rapidement depuis une tablette, ce qui n'est pas souvent pratique, d'où de possibles fautes de frappe.
              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


              • #22
                Re : Community builder et impression de liste.

                Pas de problème, un très grand merci à toi. Sans ton intervention, je serai encore à me demander ce que je devrais mettre après <?php.

                Modification faite, mais hélas toujours une belle page blanche
                Cordialement,
                carabao

                Site dédié à la caravane & au camping: www.caravane-camping.be

                Commentaire


                • #23
                  Re : Community builder et impression de liste.

                  Dans la configuration générale de Joomla!, actives le rapport d'erreur à Développement (onglet serveur) et tu auras la raison exacte de l'erreur. (souvent un nom de champ ou un truc du genre)
                  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


                  • #24
                    Re : Community builder et impression de liste.

                    voici la sortie de la console où il me semble avoir une erreur assez importante. Ailleurs il a parfois des annotations du genre 'l'index n'a pas pu être utilisé".

                    SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS emailc.cb_gsm_sevice AS GSM, c.cb_code_postal AS ZIP
                    FROM xvpn7_users AS u, xvpn7_comprofiler as c
                    WHERE c.user_id = u.id
                    ORDER BY u.registerDate
                    LIMIT 0, 100

                    Explication
                    Error
                    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.cb_gsm_sevice AS GSM, c.cb_code_postal AS ZIP FROM xvpn7_users AS u, xvpn7_comp' at line 1 SQL=EXPLAIN SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS emailc.cb_gsm_sevice AS GSM, c.cb_code_postal AS ZIP FROM xvpn7_users AS u, xvpn7_comprofiler as c WHERE c.user_id = u.id ORDER BY u.registerDate LIMIT 0, 100
                    Profil
                    Status Duration
                    starting 0.0 ms
                    Waiting for query cache lock 0.0 ms
                    Waiting on query cache mutex 0.0 ms
                    checking query cache for query 0.0 ms
                    freeing items 0.0 ms
                    logging slow query 0.0 ms
                    cleaning up 0.0 ms
                    Pile d'appels
                    JROOT/plugins/system/sourcerer/helper.php(548) : runtime-created function:17
                    JROOT/plugins/system/sourcerer/helper.php:553
                    JROOT/plugins/system/sourcerer/helper.php:341
                    JROOT/plugins/system/sourcerer/helper.php:315
                    JROOT/plugins/system/sourcerer/helper.php:275
                    JROOT/plugins/system/sourcerer/helper.php:86
                    JROOT/plugins/system/sourcerer/sourcerer.php:105
                    JROOT/libraries/joomla/event/event.php:69
                    JROOT/libraries/joomla/event/dispatcher.php:160
                    JROOT/libraries/cms/html/content.php:41
                    JROOT/libraries/cms/html/html.php:236
                    JROOT/libraries/cms/html/html.php:138
                    JROOT/modules/mod_custom/mod_custom.php:15
                    JROOT/libraries/cms/module/helper.php:190
                    JROOT/libraries/joomla/cache/controller/callback.php:157
                    JROOT/libraries/cms/module/helper.php:574
                    JROOT/libraries/joomla/document/html/renderer/module.php:99
                    JROOT/plugins/content/loadmodule/loadmodule.php:143
                    JROOT/plugins/content/loadmodule/loadmodule.php:78
                    JROOT/libraries/joomla/event/event.php:69
                    JROOT/components/com_flexicontent/helpers/dispatcher.php:172
                    JROOT/components/com_flexicontent/classes/flexicontent.fields.php:769
                    JROOT/components/com_flexicontent/classes/flexicontent.fields.php:651
                    JROOT/components/com_flexicontent/classes/flexicontent.fields.php:834
                    JROOT/components/com_flexicontent/classes/flexicontent.fields.php:196
                    JROOT/components/com_flexicontent/views/item/view.html.php:139
                    JROOT/libraries/joomla/cache/controller/view.php:96
                    JROOT/libraries/legacy/controller/legacy.php:686
                    JROOT/components/com_flexicontent/controller.php:938
                    JROOT/libraries/legacy/controller/legacy.php:728
                    JROOT/components/com_flexicontent/flexicontent.php:187
                    JROOT/libraries/cms/component/helper.php:391
                    JROOT/libraries/cms/component/helper.php:371
                    JROOT/libraries/cms/application/site.php:191
                    JROOT/libraries/cms/application/site.php:230
                    JROOT/libraries/cms/application/cms.php:252
                    JROOT/index.php:40
                    Cordialement,
                    carabao

                    Site dédié à la caravane & au camping: www.caravane-camping.be

                    Commentaire


                    • #25
                      Re : Community builder et impression de liste.

                      Modifies cette ligne
                      Code PHP:
                      $query 'SELECT ' implode', '$user ) . implode', '$cbuser ) . 
                      en
                      Code PHP:
                      $query 'SELECT ' implode', '$user ) . ', ' implode', '$cbuser ) . 
                      Je testerai cette requête (pas les mêmes champs) sur une de mes installations avec CB.
                      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


                      • #26
                        Re : Community builder et impression de liste.

                        Plus d'erreur mysql. petite erreur corrigé en plus de la ligne select
                        SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS emailc.cb_gsm_sevice AS GSM

                        SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS emailc.cb_gsm_service AS GSM

                        Mais rien ne s'affiche.

                        Encore merci
                        Dernière édition par carabao à 14/04/2015, 20h39
                        Cordialement,
                        carabao

                        Site dédié à la caravane & au camping: www.caravane-camping.be

                        Commentaire


                        • #27
                          Re : Community builder et impression de liste.

                          Testes le code de la requête dans phpMyAdmin (en remplaçant les #__ par ton préfixe de tables.

                          Je viens de tester (sans ton bric à brac <html></head>... puisqu'on est déjà dans une page, et le tout fonctionne (mais je n'ai pas les mêmes champs..)
                          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


                          • #28
                            Re : Community builder et impression de liste.

                            Merci j'essaierai demain matin, car je suis au travail pour le moment. Pour les balises home head, j'en parlais justement dans le message 20. Elles me semblent inutile aussi.
                            Cordialement,
                            carabao

                            Site dédié à la caravane & au camping: www.caravane-camping.be

                            Commentaire

                            Annonce

                            Réduire
                            Aucune annonce pour le moment.

                            Partenaire de l'association

                            Réduire

                            Hébergeur Web PlanetHoster
                            Travaille ...
                            X