Hasard dans basa de donnée

Résolu
magicjim Messages postés 116 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 septembre 2005 - 16 déc. 2004 à 06:55
magicjim Messages postés 116 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 septembre 2005 - 16 déc. 2004 à 18:39
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

AkeluX Messages postés 113 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 9 mars 2007 2
16 déc. 2004 à 16:43
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
3
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
16 déc. 2004 à 08:27
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-)
0
magicjim Messages postés 116 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 septembre 2005
16 déc. 2004 à 11:55
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 @++
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
16 déc. 2004 à 12:02
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-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magicjim Messages postés 116 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 septembre 2005
16 déc. 2004 à 12:04
oki merci je v essayer ce soir car la plus le temps un grand merci @++
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
16 déc. 2004 à 17:20
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-)
0
magicjim Messages postés 116 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 septembre 2005
16 déc. 2004 à 18:39
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)
0
Rejoignez-nous