Système d'amis en php
Posté : 11 mars 2013, 10:17
Bonjour,
J'ai 2 tables dans ma BDD :
- wa_communaute :
- 'id' int(11) Auto increment
- 'pseudo'
etc...
- wa_amis :
- 'id_membre' int(11) (l'id du membre qui ajoute l'ami)
- 'id_ami' int(11) (l'id de l'ami en question)
- 'confirm' enum('0', '1') (0 = Non réciproque ; 1 = réciproque)
- 'date' int(11)
Voila pour les tables, mon problème c'est que je n'arrive pas à créer la requête pour afficher la liste d'amis d'un membre connecté.
Donc j'ai inséré un enregistrement manuel avec phpmyadmin :
id_membre : '1' (l'id du membre qui ajoute l'ami)
id_ami : '2' (l'id de l'ami ajouté)
confirm : 1 (j'ai confirmé l'amitié)
date : 11/03/2013 09:14:12
A partir de ça, comment on fait pour créer une requête (non en PDO) qui affichera l'ami du membre connecté ?
Ce code PDO fonctionne très bien, mais j'aimerais le convertir en code PHP classique (je n'arrive à rien avec le PDO) :

J'ai 2 tables dans ma BDD :
- wa_communaute :
- 'id' int(11) Auto increment
- 'pseudo'
etc...
- wa_amis :
- 'id_membre' int(11) (l'id du membre qui ajoute l'ami)
- 'id_ami' int(11) (l'id de l'ami en question)
- 'confirm' enum('0', '1') (0 = Non réciproque ; 1 = réciproque)
- 'date' int(11)
Voila pour les tables, mon problème c'est que je n'arrive pas à créer la requête pour afficher la liste d'amis d'un membre connecté.
Donc j'ai inséré un enregistrement manuel avec phpmyadmin :
id_membre : '1' (l'id du membre qui ajoute l'ami)
id_ami : '2' (l'id de l'ami ajouté)
confirm : 1 (j'ai confirmé l'amitié)
date : 11/03/2013 09:14:12
A partir de ça, comment on fait pour créer une requête (non en PDO) qui affichera l'ami du membre connecté ?
Ce code PDO fonctionne très bien, mais j'aimerais le convertir en code PHP classique (je n'arrive à rien avec le PDO) :
<?php
$dns = 'mysql:host=**********;dbname=*******';
$utilisateur = '*******';$motDePasse = '**********';
$connection = new PDO( $dns, $utilisateur, $motDePasse );
$query = $connection->prepare('SELECT (id_membre + id_ami - :id) AS ami_id, date FROM wa_amis LEFT JOIN wa_communaute ON id = (id_membre + id_ami - :id) WHERE (id_membre = :id OR id_ami = :id) AND confirm = :conf ORDER BY date');
$query->bindValue(':id',$id,PDO::PARAM_INT);
$query->bindValue(':conf','1',PDO::PARAM_STR);
$query->execute();
if ($query->rowCount() == 0) {
echo '<td colspan="4" align="center">Vous n avez aucun ami pour l instant</td>';
}
while ($data = $query->fetch()) { ?>
<li class="friend">
<div class="friend-avatar">
<img src="../img/upload/<?php echo htmlentities(trim($data['ami_id'])); ?>-mini.png" width="40" height="40" alt="" />
</div>
</li>
<?php } $query->CloseCursor(); ?>
Merci beaucoup d'avance pour votre aide