Afficher la liste de amis PDO
Résolu/Fermé
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
-
4 sept. 2017 à 19:32
carterj Messages postés 44 Date d'inscription lundi 4 septembre 2017 Statut Membre Dernière intervention 3 août 2020 - 13 sept. 2017 à 19:49
carterj Messages postés 44 Date d'inscription lundi 4 septembre 2017 Statut Membre Dernière intervention 3 août 2020 - 13 sept. 2017 à 19:49
A voir également:
- Afficher la liste de amis PDO
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Comment cacher la liste d'amis sur facebook - Guide
- Afficher mot de passe wifi android - Guide
- Voir liste d'amis facebook - Guide
5 réponses
yg_be
Messages postés
23331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
Ambassadeur
1 551
4 sept. 2017 à 20:24
4 sept. 2017 à 20:24
bonsoir, peux-tu décrire la structure de ta base de données?
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
11 sept. 2017 à 23:50
11 sept. 2017 à 23:50
Bonjour,
Nous ne sommes pas là pour faire le travail à votre place ni pour remplacer votre moteur de recherches...
Merci de nous décrire précisément votre problème ainsi que le code déjà réalisé.
Merci également de lire ceci :
Cliquez ici pour des conseils d'écriture des messages.
NB : Pour poster votre code, merci de penser à utiliser la coloration syntaxique.
Nous ne sommes pas là pour faire le travail à votre place ni pour remplacer votre moteur de recherches...
Merci de nous décrire précisément votre problème ainsi que le code déjà réalisé.
Merci également de lire ceci :
Cliquez ici pour des conseils d'écriture des messages.
NB : Pour poster votre code, merci de penser à utiliser la coloration syntaxique.
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
1
12 sept. 2017 à 08:29
12 sept. 2017 à 08:29
Merci pour vos réponse voila le code déjà réaliser
le champ user_id1 = l'id du membre
le champs user_id2 = l'id de l'amie..
l’erreur elle afffiche toujour "Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez" alors que l'utilisateur a des amies
<?php
// recupere les info daans la bdd
$dox = $db->prepare('SELECT (user_id1 + user_id2 - :id) AS user_id2 FROM friends_relationships LEFT JOIN users ON id = (user_id1 + user_id2 - :id) WHERE (user_id1 = :id OR user_id1 = :id) AND status = :1 ');
$dox->bindValue(':id',$id,PDO::PARAM_INT);
$dox->bindValue(':1','1',PDO::PARAM_STR);
$dox->execute();
// si le user n'a pas dami on lui affiche une echo...
if($dox->rowCount() == 0){
echo "Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez";
}
// Affichage de nombre d'amies avec while
while ($data = $dox->fetch(PDO::FETCH_ASSOC)){ ?>
<img src="<?= $data->avatar ? $data->avatar : get_avatar_url($data->email) ?>"
class="avatar-xs" style="width: 50px; height: 50px;"> <?php echo htmlspecialchars(trim($data['pseudo'])); ?>
<?php
}
?>
le champ user_id1 = l'id du membre
le champs user_id2 = l'id de l'amie..
l’erreur elle afffiche toujour "Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez" alors que l'utilisateur a des amies
yg_be
Messages postés
23331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
Modifié le 12 sept. 2017 à 10:19
Modifié le 12 sept. 2017 à 10:19
peut-être ainsi:
ou bien
SELECT user_id2 FROM friends_relationships WHERE user_id1 = :id AND status = :1 UNION SELECT user_id1 FROM friends_relationships WHERE user_id2 = :id AND status = :1
ou bien
SELECT user_id2, avatar, email FROM friends_relationships, users WHERE user_id1 = :id AND status = :1 AND id = user_id2 UNION SELECT user_id1, avatar, email FROM friends_relationships, users WHERE user_id2 = :id AND status = :1 AND id = user_id1
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
1
>
yg_be
Messages postés
23331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
Modifié le 12 sept. 2017 à 16:45
Modifié le 12 sept. 2017 à 16:45
merci !! mais se toujours la même erreur qui s'affiche :(
$dox = $db->prepare("SELECT user_id2, avatar, email FROM friends_relationships, users WHERE user_id1 = :id AND status = :1 AND id = user_id2 UNION SELECT user_id1, avatar, email FROM friends_relationships, users WHERE user_id2 = :id AND status = :1 AND id = user_id1");
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
Modifié le 12 sept. 2017 à 17:13
Modifié le 12 sept. 2017 à 17:13
Bonjour,
Avant tout .. j'espère que tu as activé la gestion des erreurs PDO.
Voir ici comment faire :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite,
- On place ses requêtes dans des blocs TRY/CATCH
- On n'utilise pas ROWCOUNT en PDO ! A la place on fera un fetchAll (avec si besoin, un count sur l'array $result ))
- On évite d'ouvrir/fermer des balises php à tout va.... A la place on génèrera le html dans des echo.
Bref... ton code remis en forme devrait ressembler à ceci :
(tu remarqueras que j'ai refait la requête .... mais sans connaitre la structure exacte de tes tables difficiles de savoir si elle marchera du premier coup. )
Cordialement,
Jordane
Avant tout .. j'espère que tu as activé la gestion des erreurs PDO.
Voir ici comment faire :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite,
- On place ses requêtes dans des blocs TRY/CATCH
- On n'utilise pas ROWCOUNT en PDO ! A la place on fera un fetchAll (avec si besoin, un count sur l'array $result ))
- On évite d'ouvrir/fermer des balises php à tout va.... A la place on génèrera le html dans des echo.
Bref... ton code remis en forme devrait ressembler à ceci :
(tu remarqueras que j'ai refait la requête .... mais sans connaitre la structure exacte de tes tables difficiles de savoir si elle marchera du premier coup. )
<?php // recupere les info daans la bdd $sql = 'SELECT FR.user_id1 ,U1.id as id_user1 ,U1.avatar as avatar1 ,U1.email as email1 ,U1.pseudo as pseudo1 ,FR.user_id2 ,U2.id as id_usr2 ,U2.avatar as avatar2 ,U2.email as email2 ,U2.pseudo as pseudo2 FROM friends_relationships FR LEFT JOIN users U1 ON U1.id = user_id1 LEFT JOIN users U2 ON U2.id = user_id2 WHERE (user_id1 = :id OR user_id1 = :id) AND status = :1 ' try{ $dox = $db->prepare($sql); $dox->bindValue(':id',$id,PDO::PARAM_INT); $dox->bindValue(':1','1',PDO::PARAM_STR); $dox->execute(); //on stocke le resultat dans un array $result = $dox->fetchAll(); }catch(Exception $e){ echo "Erreur dans la requête " .$sql; echo "<br>".$e->getMessage(); } if(!empty($result)){ //on boucle sur le resultat foreach($result as $R){ echo "<img src='". $R['avatar2'] ? $R['avatar2'] : get_avatar_url($R['email2']) ."' class='avatar-xs' style='width: 50px; height: 50px;' alt='avatar'>"; echo htmlspecialchars(trim($R['pseudo2'])); } }else{ // si le user n'a pas dami on lui affiche une echo... echo "Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez"; } ?>
Cordialement,
Jordane
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
1
Modifié le 13 sept. 2017 à 19:41
Modifié le 13 sept. 2017 à 19:41
Merci bcp pour votre aide ce toujours pas resolu je trouve vraiment pas l'erreur est dû a quoi voici l'erreur en question
Notice: Undefined variable: id in C:\xampp\htdocs\friendme\friends\friends_count.php on line 20
Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez
la line 20 en question
quand je mi genre
Notice: Undefined variable: id in C:\xampp\htdocs\friendme\friends\friends_count.php on line 20
Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez
la line 20 en question
$dox->bindValue(':id' ,$id,PDO::PARAM_INT);
quand je mi genre
$id = "" ;l'erreur s'affiche pas mais le
echo "Vous n'avez pas d'ami(es) pour l'instat merci dans ajoutez";
yg_be
Messages postés
23331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
>
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
Modifié le 13 sept. 2017 à 19:37
Modifié le 13 sept. 2017 à 19:37
comment obtiens-tu l'identité de la personne connectée, celle dont tu cherches les amis?
est-ce ton premier exercice?
est-ce ton premier exercice?
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
1
>
yg_be
Messages postés
23331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
13 sept. 2017 à 19:43
13 sept. 2017 à 19:43
sois avec le
$_GET['id']ou une function que j'ai créé
find_user_by_id('user_id');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
carterj
Messages postés
44
Date d'inscription
lundi 4 septembre 2017
Statut
Membre
Dernière intervention
3 août 2020
1
13 sept. 2017 à 19:49
13 sept. 2017 à 19:49
:) sa marcher merci a vous tous. @Jordane Big up respect, @yg_be t'avais raison "l'identité de la personne connectée, "
11 sept. 2017 à 21:21
Modifié le 11 sept. 2017 à 21:29