Hasard dans basa de donnée [Résolu]

Signaler
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005
-
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005
-
Salut, voila je voudrais choisir un membre aléatoirement dans ma table sql membre et t'il possible de le faire ???

C'est pour faire un petit concours a laissait sur mon site

Cordialement jimmy

7 réponses

Messages postés
113
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
9 mars 2007

Si tu utilises MySQL, il y a plus simple ...
SELECT * FROM tbl_name ORDER BY RAND() LIMIT 1

Plus d'info sur http://dev.mysql.com/doc/mysql/en/Mathematical_functions.html ...

AkeluX
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

salut

$nomb = mysql_num_rows();
pour savoir le nombre de champ que tu as dans ta base et ensuite
rand($nomb);
pour avoir un chiffre alléatoire entre 0 et le nombre max de participant.

ensuite tu fait une requete en comparant ce nombre a ton index.

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005

mais mes id sont unique par speudo des membres et non par autoincrement par chiffres, yaurait til pas un autre moyen merci pour ta réponse @++
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

re
si dans la continuité de ce que je dit tu fait un truc du style :

$toto = rand($nomb);
$requete = "select * from `tab_user`";
$i = 0;
while ($row = mysql_fetch_obect()){
$i++;
if ($i == $toto){tu affiche tu fait tontraitement}
}

ya surement plus optimal peut etre avec une requete mysql ...

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005

oki merci je v essayer ce soir car la plus le temps un grand merci @++
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

c d'un truc comme ca que je parlait en disant solution plus optimal via une requete mysql!!!

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005

un grand merci a vous deux ma fonction est fini sans vous j'aurai passez des heures a rien y comprendre encore merci!!!

voici la fonction :
<?php
session_start();

// Paramètres de connexion à la base de données
include "inc/function.inc.php";

@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");

$requete = "SELECT * FROM table_membres ORDER BY RAND() LIMIT 1";


$result = mysql_query($requete);

if ($enreg = mysql_fetch_array($result)) {
// Si une ligne a été trouvée c'est que le couple
// (identifant, mot de passe) est valide

echo "Speudo : " . $enreg["id"] . "
";
} else {
echo "Une erreur inattendue est intervenue.
";
}
?>

@++++ :big)