Remarque: Si vous affichez tout le code (comment vous connectez-vous, comment interrogez-vous l'ensemble de données), il nous aidera à vous aider.
Quelques conseils très généraux pour l'instant.
La raison est que vous sélectionnez tous les enregistrements (ou au moins plus d'un). Lorsque vous faites la sortie seulement une fois que CF affiche seulement le premier enregistrement de l'ensemble de données. Vous pouvez vérifier cela en faisant une boucle sur l'ensemble de données:
<cfloop query="Recordset1">
<cfoutput>#Recordset1.Username#</cfoutput><br />
</cfloop>
Il devrait afficher tous vos enregistrements. Comme Jason l'a souligné, vous ne devriez sélectionner qu'un seul enregistrement de votre utilisateur. Lorsque vous effectuez une action de connexion, enregistrez l'utilisateur # (généralement clé primaire, ID) dans la portée Session (par exemple, Session.userid) et l'utiliser dans les requêtes plus tard comme ça (je ne sais pas votre requête, donc c'est juste pour montrer l'idée):
<cfquery datasource="datasourceName" name="Recordset1">
SELECT Username FROM users WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.userid#" />
</cfquery>
supposant que vous avez ids uniques comme PK, vous obtenez seulement un enregistrement dans Recordset1, de sorte que votre sortie initiale affichera le nom d'utilisateur correct.
je viens de donner un essai, est-ce que vous voulez dire: SELECT * FROM utilisateurs OÙ users.IDUsers Il ne reste le même chose cependant, aucune idée pourquoi? –
Bridget
Vous avez besoin d'une expression de droite dans votre clause where. Supposons que vous stockiez l'ID utilisateur de la base de données pour l'utilisateur connecté dans session.userid. SELECT * FROM utilisateurs WHERE users.IDUsers = –
Je n'ai pas de variable de session configurée dans ma connexion pour les IDUsers - existe-t-il du code que vous connaissez Je peux en faire un? à votre santé. – Bridget