Je suis un adepte du portail Joomla! (CMS) et je me suis dit qu'il fallait que j'apporte moi aussi ma pierre à l'édifice en créant un composant ! Voici un beau programme surtout quand on sait que je ne suis pas programmeur et c'est bien pour cela que je coince et je viens vous demander un peu d'aide.
Donc j'ai 2 tables:
- jos_societaire (id_societaire, nom, prenom, sexe, date, naissance)
jos_acrho_cat (id_categorie, nom_categorie, age_min, age_max)
Code : Tout sélectionner
$requete = "SELECT t1.id_societaire, t1.nom, t1.prenom, t1.sexe, YEAR(NOW()) - YEAR(t1.naissance) AS age"
. "\n FROM jos_societaire AS t1"
. "\n WHERE (YEAR(NOW()) - YEAR(t1.naissance) BETWEEN 0 AND 19)"
. "\n ORDER BY t1.nom ASC"
;Code : Tout sélectionner
$database->setQuery( $requete );// met le bon préfixe à la table
$espoirslist = $database->loadObjectList ();
//print_r($espoirslist);
$resultat = $database->getQuery();
//echo $resultat;
societaire_html::categorie($mosConfig_live_site, $link, $espoirslist, $resultat);
}<?php
function categorie($url, $link, $espoirslist, $resultat) {
echo $resultat;
?>
</p>
<table width="100%" border="1" cellspacing="1" cellpadding="1">
<tr>
<td><div align="center">Nom</div></td>
<td><div align="center">Prénom</div></td>
<td><div align="center">Catégorie</div></td>
</tr>
<?php //echo count($espoirslist).' enregistrement(s).<br />';
if ( count($espoirslist) > 0 )
{
foreach ($espoirslist as $espoir){
?>
<tr>
<td><?php echo $espoir->nom; ?></td>
<td><?php echo $espoir->prenom; ?></td>
<td><div align="center"><?php echo $espoir->nom_categorie; ?> <?php echo $espoir->age; ?></div></td>
</tr>
<?php
}
}else{
echo '$espoirslist est vide';
}
?>
<?php
}
?>
Ne faites pas trop attention aux diff. balises car cela fonctionne en l'état ... c'est juste pour un peu visualisé le problème !Le problème est que je voudrais que la requête se fasse sur 2 tables pour que la catégorie de la personne soit prise en compte et surtout affiché donc je transforme ma requete ainsi:
Code : Tout sélectionner
$requete = "SELECT t1.id_societaire, t1.nom, t1.prenom, t1.sexe as sexe1, YEAR(NOW()) - YEAR(t1.naissance) AS age, t2.nom_categorie, t2.sexe as sexe2"
. "\n FROM jos_societaire AS t1, jos_acrho_cat AS t2"
. "\n WHERE YEAR(NOW()) - YEAR(t1.naissance) BETWEEN t2.age_min AND YEAR(NOW()) - YEAR(naissance) <= 19"
. "\n ORDER BY t1.nom ASC"
;Plus rien ne va si j'introduits cette ligne en plus:
Code : Tout sélectionner
. "\n INNER JOIN jos_acrho_cat ON t1.sexe = t2.sexe"