<p class="spip">Dans ce tutorial nous allons afficher le contenu d’une table de donnée.
Avec phpmyadmin (par exemple) se positionner sur la base de données de joomla et exécuter le script suivant</p>

<blockquote class="spip">
<pre>
CREATE TABLE `jos_dept` (
  `dept_num` char(3) NOT NULL default ’0’,
  `dept_lib` varchar(50) default NULL,
  `info` varchar(255) default NULL,
  PRIMARY KEY  (`dept_num`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
<p class="spip">INSERT INTO `jos_dept` (`dept_num`, `dept_lib`, `info`) VALUES 
(’01’, ’AIN’, NULL),
(’02’, ’AISNE’, NULL),
(’03’, ’ALLIER’, NULL),
(’04’, ’ALPES-DE-HAUTE-PROVENCE’, NULL),
(’05’, ’HAUTES-ALPES’, NULL),
(’06’, ’ALPES-MARITIMES’, NULL),
(’07’, ’ARDECHE’, NULL)</p>
</pre>
</blockquote>
<p class="spip">Créer un repertoire de développement qui contiendra les fichiers du module.</p>

<p class="spip">Dans le répertoire créer un fichier mod_dept.php
<code><span style="color: #000000">
<span style="color: #0000BB"><?php
<br /></span><span style="color: #FF8000">/**
<br /> * Point d'entrée du module
<br /> * 
<br /> * @license        GNU/GPL
<br /> *
<br /> * 
<br /> */
<br />
<br />// pas d'accès direct au module
<br /></span><span style="color: #0000BB">defined</span><span style="color: #007700">( </span><span style="color: #DD0000">'_JEXEC' </span><span style="color: #007700">) or die( </span><span style="color: #DD0000">'Accès interdit' </span><span style="color: #007700">);
<br />
<br />echo </span><span style="color: #0000BB">JText</span><span style="color: #007700">::</span><span style="color: #0000BB">_</span><span style="color: #007700">(</span><span style="color: #DD0000">'Liste des d&eacute;partements fran&ccedil;ais'</span><span style="color: #007700">);
<br />
<br /></span><span style="color: #FF8000">// référence vers la base de donnée
<br /></span><span style="color: #0000BB">$db </span><span style="color: #007700">= & </span><span style="color: #0000BB">JFactory</span><span style="color: #007700">::</span><span style="color: #0000BB">getDBO</span><span style="color: #007700">() ;
<br />
<br /></span><span style="color: #FF8000">// requête SQL
<br />// #_ sera remplacé par le préfixe d'installation des tables
<br />// dans notre cas ce sera jos_ (préfixe par défault)
<br /></span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT * FROM #__dept"</span><span style="color: #007700">;
<br />
<br /></span><span style="color: #FF8000">// exécution de la requête
<br /></span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">setQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);
<br />
<br />
<br />
<br />
<br /></span><span style="color: #FF8000">//chargement du résultat de la requête dans un tableau
<br /></span><span style="color: #0000BB">$departements </span><span style="color: #007700">= </span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">loadObjectList</span><span style="color: #007700">();
<br />
<br />echo </span><span style="color: #DD0000">'<table border="1" align ="center">'</span><span style="color: #007700">;
<br />echo </span><span style="color: #DD0000">'<tr><th align ="center" >Libell&eacute</th><th align ="center">Code</th></tr>'</span><span style="color: #007700">;
<br />foreach ( </span><span style="color: #0000BB">$departements </span><span style="color: #007700">as </span><span style="color: #0000BB">$departement </span><span style="color: #007700">) </span><span style="color: #FF8000">// parcourir le tableau
<br /></span><span style="color: #007700">{   
<br />     echo </span><span style="color: #DD0000">'<tr><td>'</span><span style="color: #007700">.</span><span style="color: #0000BB">$departement</span><span style="color: #007700">-></span><span style="color: #0000BB">dept_lib </span><span style="color: #007700">.</span><span style="color: #DD0000">'</td><td>' </span><span style="color: #007700">.</span><span style="color: #0000BB">$departement</span><span style="color: #007700">-></span><span style="color: #0000BB">dept_num </span><span style="color: #007700">.</span><span style="color: #DD0000">'</td></tr>'  </span><span style="color: #007700">;
<br />}  
<br />echo </span><span style="color: #DD0000">'</table>'</span><span style="color: #007700">;
<br />
<br />
<br /></span><span style="color: #FF8000">// explorons la base de données
<br />// retourne le nombre d'enregistrements de la  requête SQL
<br /></span><span style="color: #0000BB">$num </span><span style="color: #007700">= </span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">getNumRows</span><span style="color: #007700">( </span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">() );
<br />echo </span><span style="color: #DD0000">"<br> - "</span><span style="color: #007700">.</span><span style="color: #0000BB">$num </span><span style="color: #007700">.</span><span style="color: #DD0000">" d&eacute;partements<br>"</span><span style="color: #007700">;
<br />
<br /></span><span style="color: #FF8000">// retourne le premier enregistrement sous forme de tableau
<br /></span><span style="color: #0000BB">$dept_1 </span><span style="color: #007700">=  </span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">loadRow</span><span style="color: #007700">() ;
<br />echo </span><span style="color: #DD0000">"<pre>"</span><span style="color: #007700">;
<br />echo </span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$dept_1</span><span style="color: #007700">) ;
<br />echo </span><span style="color: #DD0000">"</pre>"</span><span style="color: #007700">;
<br />
<br /></span><span style="color: #FF8000">// test si la base de donnée est disponible
<br /></span><span style="color: #007700">echo  </span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">test</span><span style="color: #007700">() ;
<br />
<br /></span><span style="color: #FF8000">//retourne le prefixe des tables joomla
<br /></span><span style="color: #007700">echo  </span><span style="color: #DD0000">'<br> pr&eacute;fixe des tables : '</span><span style="color: #007700">.</span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">getPrefix</span><span style="color: #007700">() ;
<br />
<br /></span><span style="color: #FF8000">//retourne la dernière requête SQL 
<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">'<br>'</span><span style="color: #007700">.</span><span style="color: #0000BB">$db</span><span style="color: #007700">-></span><span style="color: #0000BB">getQuery</span><span style="color: #007700">() ;
<br /></span><span style="color: #0000BB">?></span>
</span>
</code></p>

<p class="spip">Créer un fichier XML mod_dept.xml qui contiendra les différente information sur le module</p>
<blockquote class="spip">
<div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
<br />
<?xml version="1.0" encoding="iso-8859-1"?><br />
<install type="module" version="1.5.1"><br />
        <name>Les départements français</name><br />
        <author>Laurent Deschaumes</author><br />
        <creationDate>Mars 2008</creationDate><br />
        <copyright>&lt;/copyright><br />
        <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license><br />
        <authorEmail>ldeschaumes at free.fr</authorEmail><br />
        <authorUrl></authorUrl><br />
        <version>1.5.0</version><br />
        <description>Module departement francais</description><br />
         <files><br />
        <filename module="mod_dept">mod_dept.php</filename><br />
    </files><br />
</install><br />
<br />
</code></div>
</blockquote>
<p class="spip">Zipper ces 2 fichiers (ex : mod_dept.zip)</p>

<p class="spip">Connectez vous en administration selectionnez le menu <strong class="spip">Extensions>Installer/Desinstaller/Installation</strong> et selectionnez le fichier zip crée précédemment (suivant l’endroit ou il se trouve en local sur votre disque dur ou son URL)</p>

<li> Si tout se passe bien vous devez avoir un message du style « Installateur Module Succès ».
<li> Pour activer le module selectionner le menu <strong class="spip">Extention/Gestion des modules</strong> et activez le module (coche verte) et verifiez son appartition sur le site(par défaut il apparaît dans le bandeau de gauche), essayez les différents positionnement du module avec la liste déroulante(  Menu <strong class="spip">Extensions>Gestion des modules</strong> ) du module « Les départements français ».
<li> Dans cet exemple nous nous sommes servi de quelques objet de l’API de joomla  notamment de l’objet JDatabase , en vous servant de ce tutoriel explorez toutes ses méthodes à cette adresse <a href="http://api.joomla.org/Joomla-Framework/Database/JDatabaseMySQL.html#loadRowList" class="spip_out">http://api.joomla.org/Joomla-Framework/Database/JDatabaseMySQL.html#loadRowList</a>