Afficher le pseudo & image des connectés

asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un site avec un espace membres, j'aimerais dans un cadre afficher les utilisateur connecté, pseudo et image.
merci


A voir également:

48 réponses

asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
j'ai creer la table manuelement mais quand je regard la structure il me met

"aucun index n'est defini"

http://grpminfo.fr/heberg/up/sql.jpg
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
bon ca avance, j'ai maintenant l'affichage et sur ma table je me voit bien connecté.

par contre le format est tres bizarre an affichage :

Visiteur en ligne: 1SELECT * FROM whoisonline WHERE cTimeName > '1294526395' 1

maintenant j'aimerais voir le pseudo et l'image et le nombre de connectés.

la structure de ma base :

cIpName varchar(20)
cTimeName int(50)
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Pour le problème d'affichage c'est qu'à un endroit tu as du laissé un
echo $sql
, tu le retire et le résultat d'affichage sera correct.

Pour le nombre de connecté : ça fonctionne on dirais!!
Le pseudo et l'image : le script que tu as récupéré doit le faire ?
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
$sql = "SELECT * FROM ".$tblInfo['name']." WHERE ".$tblInfo['cTimeName']." > '".(time()-$updateTime)."'";
$result = mysql_query($sql);
$nbResult = mysql_num_rows($result);
echo 'Visiteur en ligne: '.$nbResult;
echo $sql." ".$nbResult


je n'en voit pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
retire
echo $sql." ".$nbResult

et tu aura bien comme résultat : "Visiteur en ligne: 1"
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
effectivement c'est deja mieux, comment je peux faire maintenant pour afficher les pseudo et images .
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Le script que tu as trouvé : le fessait ou pas ?
Sinon faut que tu fasse une requête en récupérant les pseudo et les images puis ensuite tu affiche cela comme tu le souhaite grâce au html. ;)
Pour la requête aide toi de la requête pour les membres connectés :
$sql = "SELECT * FROM ".$tblInfo['name']." WHERE ".$tblInfo['cTimeName']." > '".(time()-$updateTime)."'";
$result = mysql_query($sql);
$nbResult = mysql_num_rows($result);

0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
alors c'est la que ca ce complique, tu me dit si je me trompe,

dans ma table je crée deux autre colonnes avec comme nom "pseudo" et "image_profil" mais apres je ne sais pas comment faire ...
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Le pseudo tu ne l'a pas d'enregistré ? Si non, tu créé la colonne et tu l'enregistre au moment ou l'utilisateur le créé.
Ensuite pour l'image du profil il me semble que tu l'a déjà dans ta table (champ "photo_profil"), non ?

Ensuite, une fois que tu as fais en sorte que l'image et le pseudo s'enregistre dés que l'utilisateur les créés, il faut passer à la requête, voici à mon avis la définition de cette dernière :
Récupérer/Afficher les pseudos et les images de profil des utilisateurs connectés.
Donc la requête ressemble énormément à
$sql = "SELECT * FROM ".$tblInfo['name']." WHERE ".$tblInfo['cTimeName']." > '".(time()-$updateTime)."'";
mais il faut que tu remplace l'étoile par les champs.

Voilà je te laisse faire tout ça moi je vais me coucher!!
Tiens moi au courant.

Bon courage
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
oui j'ai bien compris mais ce que je veut dire c'est que "photo_image" et "pseudo" se trouve dans une autre table
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Ok.
Donc dans ce cas la requête se complique un peu mais pas trop je te rassure.
Regarde du côté des jointures entre 2 tables.
Essaye et si demain tu n'y arrive toujours pas je t'aiderais mais essaye déjà par toi même!!
Bonne soirée
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
j'ai essayé ceci mais j'ai un message d'erreur ..

$sql = "SELECT * FROM  whoisonline as  t_une, devolia_rsed_users_sessions as t_deux  WHERE t_une.cIpName = t_deux.IP AND t_une.cTimeName >";
$result = mysql_query($sql); 
$nbResult = mysql_num_rows($result); 
echo 'visiteur en ligne: '.$nbResult;


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /public_html/grpminfo-site/face/devoliarsed-custom/themes/default/includes/php/getOnlinePeople.php on line 21

la ligne 21 : $nbResult = mysql_num_rows($result);
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Tout d'abord, la fonction mysql_num_rows permet de compter le nombre de résultat qu'obtient ta requête donc la c'est inutile.
Ensuite pour ta requête tu peux si tu le souhaite récupérer que les champs que tu veux récupérer en fessant de la manière suivante :
SELECT champ1, champ2 FROM table1 AS t1, table2 AS t2 WHERE t1.clé_primaire = t2.clé_étrangère AND condition

Voilà ce que cela doit donner.
Tu peux faire un echo de ta requête et copier le résultat du echo pour ensuite tester ta requête dans le requêteur de mysql pour voir s'il y a une erreur ou pas.

Puis je pense qu'il faut qu'après avoir exécuter ta requête( mysql_query), tu mette les résultat dans un tableau.

Voilà j'espère t'avoir guidé assez.
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
bonjour et merci de ton retour.
j'ai un message d'erreur concernant la clé primaire

Unknown column 't1.clé_primaire' in 'where clause'

$sql = "SELECT name, firstname FROM devolia_rsed_user_profil AS t1, devolia_rsed_users_sessions AS t2 WHERE t1.clé_primaire = t2.clé_étrangère AND 'condition >' ";
 $result = mysql_query($sql)or die(mysql_error());
$result = mysql_query($sql);
$nbResult = mysql_num_rows($result);
echo 'visiteur en ligne: '.$nbResult;
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Normal il faut bien entendu adapter la requête à tes tables c'est à dire remplacer clé_primaire par le champ qui convient et remplacer clé_étrangère qui convient également et pareil pour la condition.
Ensuite ça sert à rien de mettre 2 fois la fonction mysql_query.
Puis au lieu de mysql_num_rows il faut que tu utilise une fonction qui créé un tableau....
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
j'ai reussi a mettre la cle étrangere mais pour la primaire j'ai un message de'erreur.

#1170 - BLOB/TEXT column 'name' used in key specification without a key length
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Les 2 champ doivent être du même type et les données doivent correspondre.

Exemple :
Table1
t1_id
t1_nom
t1_prenom
=> t1_id est la clé primaire de cette table de type integer par exemple


Table2
t2_code
t2_nom
t1_id
=> t1_id est la clé étrangère de la table 2, ce champ correspond au champ t1_id de la table 1.
Donc la liaison ici se fait entre Table1.t1_id et Table2.t1_id

Pour plus d'explication, n'hésite pas à te documenter sur les requête SQL et jointure via les recherches sur google.
0
asus02 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   13
 
oui je pige mais je n'arrive pas a assigner la clé primaire

Column 'name' in field list is ambiguous

ALTER TABLE devolia_rsed_user_profil ADD PRIMARY KEY (name);
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Je comprend bien, tu as aucune clé primaire pour le moment, c'est ça ?
Peux-tu me fournir les structures de tes 2 tables stp ?
Peux-tu aussi m'expliquer la liaison entre les 2 tables ? (exemple : entre une table acteur et film -> 1 acteur peux être dans un ou plusieurs film)
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
Je pense que tu ne peux pas mettre comme nom de champ 'name' car pour mysql c'est peut être un mot réservé.
0