14/08/2011, 16:04:23
Bonjour,
J'ai ré-activé ce topic pour donner la partie de code qui fonctionne (ça peut servir à d'autres qui sait !) :
Donc il s'agit d'afficher certains champs extrait de ma table cms_0agree, filtrés sur la valeur de la variable $username
Le résultat visible ici http://www.amavie.fr/index.php?page=testReq1.
Ma difficulté arrive ensuite :
la condition du filtre doit être l'utilisateur qui viens de s'identifier par Feu pour souscrire une assurance.
J'ai essayé diverses syntaxes en utilisant les jointures avec les tables de Feu ...
En français, la requête doit :
Séléctionner certains champs de la table cms_0agree
quand la valeur du champs cms_0agree.email = valeur du chams cms_feusers_users.username correspondant à l'id de l'utilisateur connecté soit cms_feusers_loggedin.userid
Le résultat reste vide !
Et ... comment faire si plusieurs utilisateurs sont connectés en même temps ?
J'ai essayé de créer une variable de session intégrée au gabarit de connexion, sans succès !
Merci de vos aides !
J'ai ré-activé ce topic pour donner la partie de code qui fonctionne (ça peut servir à d'autres qui sait !) :
Donc il s'agit d'afficher certains champs extrait de ma table cms_0agree, filtrés sur la valeur de la variable $username
Code :
global $gCms;
$db = &$gCms->GetDb();
echo "<table>";
$username='plorton_AT_ plorton.fr'; //modif email by JCE ne pas mettre email en clair sur un forum
$query = "SELECT a.civilite, a.nom, a.prenom, a.adresse, a.cp, a.ville, a.agree, a.dateAgrement, a.rcpro FROM ".cms_db_prefix()."0agree a WHERE a.email LIKE '$username' ";
$dbretour = &$db->Execute($query);//exécution de la requête
if($dbretour === false) { echo "La requête provoque une erreur !";exit();}
while ($row = $dbretour->FetchRow())
{
echo <<<AFFICHE
<tr>
<td class="colIntitules">- Praticien(ne) : </td>
<td class="colDonnees">{$row['civilite']} {$row['prenom']} {$row['nom']}</td>
</tr>
<tr>
<td colspan="2">afficher les chams utiles !
</td>
</tr>
AFFICHE;
}
echo "</table>";
//
Ma difficulté arrive ensuite :
la condition du filtre doit être l'utilisateur qui viens de s'identifier par Feu pour souscrire une assurance.
J'ai essayé diverses syntaxes en utilisant les jointures avec les tables de Feu ...
Code :
SELECT f2.username, a.civilite, a.nom, a.prenom, a.adresse, a.cp, a.ville, a.agree, a.dateAgrement, a.rcpro FROM
cms_feusers_loggedin AS f1 LEFT JOIN cms_feusers_users AS f2
ON f1.userid = f2.id // résultat = email du souscripteur
LEFT JOIN cms_0agree AS a
ON f2.username = a.email
Séléctionner certains champs de la table cms_0agree
quand la valeur du champs cms_0agree.email = valeur du chams cms_feusers_users.username correspondant à l'id de l'utilisateur connecté soit cms_feusers_loggedin.userid
Le résultat reste vide !
Et ... comment faire si plusieurs utilisateurs sont connectés en même temps ?
J'ai essayé de créer une variable de session intégrée au gabarit de connexion, sans succès !
Merci de vos aides !
Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur Free.fr, Gandi.net (GandiAI et SimpleHosting)