IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Sélection aléatoire et update [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut Sélection aléatoire et update
    Bonjour,voici ce que je désire réaliser.

    J'ai une table round(id_round int ,joueur1 int ,joueur2 int,resultat int) qui est censé représenter le déroulement d'un match d'échec.

    Je dois piocher au hasard deux joueurs dans la tablejoueur_licencie(id_joueur,id_club,numero_licence,nom_joueur,prenom_joueur,adresse_joueur,ville_joueur,elo,classment_championnat).

    En fait je sélectionne deux champs numero_licence(ils sont unique)ce qui me permet de différencier les joueurs entre eux.

    et je les insére dans ma table round dans les champs joueur1 et joueur2.

    Ensuite je génère un nombre aléatoire(0 1 ou 2) et je l'insère dans le champ résultat:

    0: match nul
    1: victoire joueur 1
    2: victoire joueur2

    Ainsi je modélise une rencontre et le résultat.

    Voici mon code il y a un problème au niveau de l'insertion des numéros de licence des joueurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
     
    include("connection_base.php");
     
    $query_joueur1="SELECT numero_licence FROM joueur_licencie ORDER BY RAND( )LIMIT 1" ;
    $result_joueur1=mysql_query($query_joueur1) or die("Echec de la sélection du premier joueur");
    $query_joueur2="SELECT numero_licence FROM joueur_licencie WHERE numero_licence <> ".$joueur1."LIMIT 1";
    $result_joueur2=mysql_query($query_joueur2) or die ("Echec de la sélection du second joueur");
     
    $resultat=mt_rand(0,2);
     
    while(($insertion_joueur1=mysql_fetch_assoc($result_joueur1)) &&($insertion_joueur2=mysql_fetch_assoc($result_joueur2)))
    {
    	$query_insertion="INSERT INTO round(joueur1,joueur2,resultat) VALUES ('".$insertion_joueur1['numero_licence']."','".$insertion_joueur2['numero_licence']."','".$_resultat."');"
    	$result_insertion=mysql_query($query_insertion) or die("Echec de l'insertion des paramètres du round");
    }
    switch($resultat)
    {
    	case 0:
    	echo'Les deux joueurs ont fait match nul';
    	$nul_joueur1="UPDATE joueur_licencie SET classement_championnat=(classement_championnat+0,5) WHERE numero_licence='".$_joueur1."''";
    	$result_nul_joueur1=mysql_query($nul_joueur1);
    	$nul_joueur2="UPDATE joueur_licencie SET classement_championnat=(classement_championnat+0,5) WHERE numero_licence='".$_joueur2."''";
    	$result_nul_joueur2=mysql_query($nul_joueur2);
    	break;
     
    	case 1:
    	echo'Le joueur 1 a remporté la partie';
    	$victoire_joueur1="UPDATE joueur SET classement_championnat=classement_championnat+0,5 WHERE numero_licence='".$_joueur1."''";
    	mysql_query($victoire_joueur1);
    	break;
     
    	case 2:
    	echo'Le joueur 2 a remporté la partie';
    	$victoire_joueur2="UPDATE joueur SET classement_championnat=classement_championnat+0,5 WHERE numero_licence='".$_joueur2."''";
    	mysql_query($victoire_joueur2);
    	break;
     
    	default:
    	break;
    }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi tu ne fais pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT numero_licence FROM joueur_licencie ORDER BY RAND( )LIMIT 2
    ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    Exact ^^.

    Jvais tester !

    Mais comment utiliser les 2 numéros par la suite ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $query_joueurs="SELECT numero_licence FROM joueur_licencie ORDER BY RAND( )LIMIT 2" ;
    $result_joueurs=mysql_query($query_joueur1) or die("Echec de la sélection des joueurs");
    while(($insertion_joueurs=mysql_fetch_assoc($result_joueurs)))
    {
    ......
    }
    J'utilise $insertion_joueur[0] et $insertion_joueurs[1]?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    Voilà ce que j'ai fait.Il y a une erreur.

    Je pense que ça vient de l'utilisation de résultat du select dans la requête d'insertion !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ".$insertion_joueurs[0].",".$insertion_joueurs[1]."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    include("connection_base.php");
     
    $query_joueurs="SELECT numero_licence FROM joueur_licencie ORDER BY RAND( )LIMIT 2" ;
    $result_joueurs=mysql_query($query_joueur1) or die("Echec de la sélection des joueurs");
     
    $resultat=mt_rand(0,2);
     
    while(($insertion_joueurs=mysql_fetch_assoc($result_joueurs)))
    {
    	$query_insertion="INSERT INTO round(joueur1,joueur2,resultat) VALUES (".$insertion_joueurs[0].",".$insertion_joueurs[1].",".$_resultat.");"
    	$result_insertion=mysql_query($query_insertion) or die("Echec de l'insertion des paramètres du round");
    }

  5. #5
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je ne vois pas pourquoi tu utilise la fonction ROUND() de MySQL pour l'insertion des 2 joueurs.
    round() c'est pour arrondir un nombre décimal.
    Sauf erreur, ll me semble pas qu'il soit permis de faire un ROUND() après un INSERT INTO, ça n'a pas de sens.

    Faudrait voir la structure de cette table (qui n'a pas de nom d'ailleurs) pour les résultats, mais à priori ça devrait être simple.
    Par contre, il ne faut pas faire l'insertion dans la boucle car la boucle te retourne 1 seul joueur par boucle, alors qu'il te faut les 2 pour l'insertion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while(($insertion_joueurs = mysql_fetch_assoc($result_joueurs))) {
    	$joueurs[] = $insertion_joueurs['numero_licence'];
    }
    //
    $query_insertion = "INSERT INTO rencontre (joueur1, joueur2, resultat) VALUES (".(int)$joueurs[0].", ".(int)$joueurs[1].", ".(int)$_resultat.")";
    (le ; à la fin était mal placé aussi)
    Je parts du principe aussi que le "numero_licence" est un nombre numérique (un entier). Si ce n'est pas le cas, faut enlever les (int) et rajouter des quote -> '' entre les valeurs.

    Modifie aussi ceci : ... RAND( )LIMIT...
    par : ... RAND() LIMIT ...

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Par défaut
    Ben justement sa table s'appelle round... c'est sûr que ça va pas aller, c'est un mot-clé MySQL (à moins de l'escaper tout le temps). Renomme ça en "rounds" par exemple, il est de bonne pratique de mettre les noms de tables au pluriel.

  7. #7
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par asdf007
    Ben justement sa table s'appelle round...
    Ben zut alors, j'ai pas percuté 1 seconde. Décidément

    Le piège dans cette histoire, c'est surement le fait d'utiliser PhpMyAdmin pour créer ses tables, car ce soft échappe justement tous les noms (table, champs) dans le cas où ce serait un nom réservé.

    Pour éviter le piège, faut faire au moins un petit essai dans son code (un SELECT champs, ... FROM la_table), sans échapper évidemment.
    Si erreur il y a, on le saura de suite, car il est difficile d'avoir en tête tous les noms réservés.

    Enfin, c'est ce que je fais pour éviter les noms réservés ...


    Un truc que je viens de voir, c'est ceci : ... classement_championnat+0,5
    Si c'est un nombre décimal, faut faire comme ceci : ... classement_championnat+0.5
    La virgule est le séparateur Français, mais en Anglais c'est un point.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    L'insertion dans la table "rounds" fonctionne.Mais pas l'update du classement dans la table joueur_licencie.

    A quoi sert le int dans ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
     
    include("connection_base.php");
     
    $query_joueurs="SELECT numero_licence FROM joueur_licencie ORDER BY RAND() LIMIT 2";
    $result_joueurs=mysql_query($query_joueurs) or die("Echec de la sélection des numéros de licence des joueurs");
     
    $resultat=mt_rand(0,2);
     
    while($insertion_joueurs=mysql_fetch_array($result_joueurs))
    {
    	$joueurs[] = $insertion_joueurs['numero_licence'];
    }
    	$query_insertion="INSERT INTO rounds(joueur1,joueur2,resultat) VALUES (".(int)$joueurs[0].",".(int)$joueurs[1].",".(int)$resultat.")";
    	$result_insertion=mysql_query($query_insertion) or die("Echec de l'insertion des paramètres du round");
     
    	switch($resultat)
    	{
    		case 0:
    		echo'Les deux joueurs ont fait match nul';
    		$nul_joueur1="UPDATE joueur_licencie SET classement_championnat=(classement_championnat+0.5) WHERE numero_licence='".$joueurs[0]."'";
    		$result_nul_joueur1=mysql_query($nul_joueur1) or die("Echec de l'insertion du résultat nul pour le joueur 1");
    		$nul_joueur2="UPDATE joueur_licencie SET classement_championnat=(classement_championnat+0.5) WHERE numero_licence='".$joueurs[1]."'";
    		$result_nul_joueur2=mysql_query($nul_joueur2) or die("Echec de l'insertion du résultat nul pour le joueur 2");
    		break;
     
    		case 1:
    		echo'Le joueur 1 a remporté la partie';
    		$victoire_joueur1="UPDATE joueur SET classement_championnat=classement_championnat+0.5 WHERE numero_licence='".$joueurs[0]."'";
    		mysql_query($victoire_joueur1) or die("Echec de l'insertion de la victoire du joueur 1");
    		break;
     
    		case 2:
    		echo'Le joueur 2 a remporté la partie';
    		$victoire_joueur2="UPDATE joueur SET classement_championnat=classement_championnat+0.5 WHERE numero_licence='".$joueurs[1]."'";
    		mysql_query($victoire_joueur2) or die("Echec de l'insertion de la victoire du joueur 2");
    		break;
     
    		default:
    		break;
    	}
    mysql_close($conn);
    ?>

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    C'est bon ça marche.Maintenant il faut que je modélise le fait que deux joueurs ne peuvent s'affronter qu'une seule fois !

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    J'ai modifié ce que je voulais faire.Je veux juste sélectionner 2 numéros de licence au hasard.Ca ça marche.Puis je sélectionne un nombre entre 0 1 et 2 au hasard.Et j'affiche les valeurs que j'obtiens !

    C'est à dire les 2 joueurs sont : .....

    Le résultat est : ....

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
     
    include("connection_base.php");
     
    $query_joueurs="SELECT numero_licence FROM joueur_licencie ORDER BY RAND() LIMIT 2";
    $result_joueurs=mysql_query($query_joueurs) or die("Echec de la sélection des numéros de licence des joueurs");
     
    $resultat=mt_rand(0,2);
     
    while($insertion_joueurs=mysql_fetch_array($result_joueurs))
    {
    	$joueurs[] = $insertion_joueurs['numero_licence'];
    }
     
    echo'Le round oppose le joueur '.$joueurs[0].' et le joueur '.$joueurs[1].'<br>';
     
    switch($resultat)
    {
    	case 0:
    	echo'Les deux joueurs '.$joueurs[0].' et '.$joueurs[1].' ont fait match nul';
    	$nul_joueur1="UPDATE joueur_licencie SET classement_championnat=((classement_championnat)+1) WHERE numero_licence='".$joueurs[0]."'";
    	$result_nul_joueur1=mysql_query($nul_joueur1) or die("Echec de la modification du classement du  joueur 1(nul)");
    	$nul_joueur2="UPDATE joueur_licencie SET classement_championnat=((classement_championnat)+1) WHERE numero_licence='".$joueurs[1]."'";
    	$result_nul_joueur2=mysql_query($nul_joueur2) or die("Echec de la modification du classement du joueur 2(nul)");
    	break;
     
    	case 1:
    	echo'Le joueur '.$joueurs[0].' a remporté la partie';
    	$victoire_joueur1="UPDATE joueur_licencie SET classement_championnat=((classement_championnat)+2) WHERE numero_licence='".$joueurs[0]."'";
    	mysql_query($victoire_joueur1) or die("Echec de la modification du classement du joueur 1(victoire)");
    	break;
     
    	case 2:
    	echo'Le joueur '.$joueurs[1].' a remporté la partie';
    	$victoire_joueur2="UPDATE joueur_licencie SET classement_championnat=((classement_championnat)+2) WHERE numero_licence='".$joueurs[1]."'";
    	mysql_query($victoire_joueur2) or die("Echec de la modification du classement du joueur 2(victoire)");
    	break;
     
    	default:
    	break;
    }
    mysql_close($conn);
    ?>
    Ca marche quasiment tout le temps sauf 1 fois sur 50 ou j'ai une option "or die" qui se déclenche.Je ne sais pas pourquoi !

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Par défaut
    Teste les mysql_error.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    J'ai jamais fait !

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Par défaut
    Dans les die :
    mysql_query(...) or die(mysql_error())

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    OK c'est bon.Ce que je n'arive pas à faire là c'est éviter que deux joueurs peuvent se rencontrer 2 fois !

  15. #15
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Ce que je n'arive pas à faire là c'est éviter que deux joueurs peuvent se rencontrer 2 fois !
    La clé primaire doit être double : PRIMARY KEY (joueur1, joueur2)

    Cependant, il sera possible de créer les 2 possibilités des 2 mêmes joueurs (match allé et retour si on peu dire).
    Si l'appli ne doit pas l'autoriser, faudra alors le vérifier avant insertion, faire une requête quoi.
    Voir même ne pas donner la possibilité de sélectionner ces 2 joueurs si une rencontre a déjà été faite entre eux (requête toujours).

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    Les joueurs ne peuvent se rencontrer qu'une seule fois ! Pas de notion de match aller-retour !

    Donc si je met le champ joueur 1 et 2 en clé primaire ça suffit ?

    Je n'arrive pas à définir les 2 champs en tant que clé primaire.C'est quoi la manipulation pour y arriver? Ou le bout de code que je dois écrire ?

    J'ai fait ça et ça ne fonctionne pas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE rounds
    (
    	id_round INT NOT NULL AUTO_INCREMENT,
    	joueur1 INT NOT NULL,
    	joueur2 INT NOT NULL,
    	resultat INT NOT NULL,
    	CONSTRAINT pk_joueurs PRIMARY KEY(joueur1,joueur2)
    );

  17. #17
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Non, faut surtout pas rajouter un champ auto_increment, pas de id_round, juste joueur1 et joueur2 en clé primaire, comme tu as fais.

    Après, il ne me semble pas qu'il existe un moyen d'éviter les 2 possibilités (les aller/retour).

    Les 2 couples comme ceci par exemple : 123 - 789 et 789 - 123 sont différents, et une clé double ne pourra pas l'éviter, ça évite juste la duplication de ces 2 couples d'IDs.

    En somme, je n'est pas connaissance d'une telle instruction en SQL.
    Si ça existe, je l'apprendrais.

    A défaut, et pour le faire (du moins pour l'éviter), je ne vois que 2 possibilités :
    - Soit les procédures stockées.
    On fait une requête qui vérifiera si le couple d'IDs (joueur1/joueurs2) est déjà dans la Bdd. On insère ou pas selon le cas.
    - Soit plus simplement, on effectue cette requête dans sa page php, dans sont code (comme toutes requêtes), ensuite on insère ou pas selon le cas.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    C'est bon j'ai modifié le schéma de ma base !

    Mais comment faire pour vérifier que le couple existe déjà dans la base ?

  19. #19
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Mais comment faire pour vérifier que le couple existe déjà dans la base ?
    A ben là ça va plus.
    C'est qui qui est en charge de créer ce projet dis moi ?

    Personnellement, je te retourne la question.
    Comment ferais tu pour le vérifier ?
    Sous entendu, que tu as tous les éléments en mains maintenant, et que si tu ne parviens pas à trouver comment le faire, c'est tout le reste de ton projet qui risque de ne pas avancer, parce que ici c'est trop simple.

    C'est pas un reproche, mais il faut chercher un peu, non ?

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Par défaut
    Je mets mes champs joueur1 et joeuur2 en clé primaire et dans le or die de la requete j'explique que si l'insertion marche pas c'est que le match a déjà eu lieu !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2003] sous Requete sélection aléatoire dans requete update. Problème de syntaxe
    Par Chagui dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 19/04/2011, 10h58
  2. [MySQL] Aide requête MySQL : sélection aléatoire d'un enregistrement avec critère
    Par iwf-fr dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/05/2007, 09h01
  3. requete de sélection aléatoire distincte
    Par calitom dans le forum Langage SQL
    Réponses: 9
    Dernier message: 21/12/2006, 17h59
  4. [MySQL] Sélection aléatoire sans doublon
    Par krapoulos2006 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/12/2006, 16h46
  5. Sélection aléatoire d'une seule ligne.
    Par Pat bol 002 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 05/01/2005, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo