Page 1 sur 1
fonction asort
Posté : 14 janv. 2012, 13:08
par guidu02
Bonjour à tous, j'ai un code qui récupère tout les membres de ma base, qui leur donne un nombre de points aléatoire et qui affiche leurs points et leur id a la fin et j’aimerai les classé avec la fonction asort.
Voici le code:
<?php
$req = $connexion->query("SELECT * FROM membres");
while ($joueur = $req->fetch()){
$point = mt_rand(0, 5);
$points[] = $point;
$place++;
echo "Le membre ".$joueur['id_membre']." arrive ".$place." avec ".$point."<br>";
}
Merci d'avance

Re: fonction asort
Posté : 14 janv. 2012, 14:08
par Berzemus
D'accord.
Re: fonction asort
Posté : 14 janv. 2012, 19:14
par sirakawa
<?php
$req = $connexion->query("SELECT * FROM membres");
while ($joueur = $req->fetch()){
$point = mt_rand(0, 5);
$points[] = $point;
$place++;
echo "Le membre ".$joueur['id_membre']." arrive ".$place." avec ".$point."<br>";
}
Il me semble qu'un bon début serait de constituer un tableau dont les clefs sont les id des joueurs et les valeurs leurs points:
$resultats = array();
$req = $connexion->query("SELECT * FROM membres");
while ($joueur = $req->fetch()){
$id = $joueur ['id_membre'];
$point = mt_rand(0, 5);
$resultats[$id] = $point;
}
asort ($resultats);
Re: fonction asort
Posté : 14 janv. 2012, 19:41
par guidu02
Merci de ta réponse, le problème c'est que cela ne me sort que le premier membre (Celui avec le plus de points, or moi je veux tous les sortir)
Merci
Re: fonction asort
Posté : 14 janv. 2012, 19:52
par AB
A la suite du code ci-dessus (de
sirakawa), écris
echo '<pre>';
print_r($resultats);
echo '</pre>';
Que donne le résultat ? Tu n'as qu'un seul élément dans ton tableau ?
Re: fonction asort
Posté : 14 janv. 2012, 20:01
par guidu02
Désoler je n'est pas réfléchis avant de poster, j'avais oublier le foreach
Maintenant comment attribuer chaque membre a son nombre de points car le je ne reçois que le nombre de points ?
Voici le code actuelle:
<?php
$resultats = array();
$req = $connexion->query("SELECT * FROM membres");
while ($joueur = $req->fetch()){
$id = $joueur ['id_membre'];
$point = mt_rand(0, 5);
$resultats[$id] = $point;
}
asort ($resultats);
foreach($resultats as $element)
{
echo $element . '<br />';
}
Merci
Re: fonction asort
Posté : 14 janv. 2012, 20:11
par AB
<?php
foreach($resultats as $key => $element)
{
echo $key. '<br />';
echo $element . '<br />';
}
Re: fonction asort
Posté : 14 janv. 2012, 20:42
par guidu02
Merci !!!
Re: fonction asort
Posté : 15 janv. 2012, 21:06
par Gofromiel
Tu peux intégrer la fonction de randomisation dans ta requête SQL :
Re: fonction asort
Posté : 16 janv. 2012, 01:29
par AB
Tu peux intégrer la fonction de randomisation dans ta requête SQL :
On lui a déjà dit sur un autre forum

mais il a répondu que ce n'était pas envisageable pratiquement...