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 :

[Conception] nombre au hasard un peu special


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 62
    Points : 35
    Points
    35
    Par défaut [Conception] nombre au hasard un peu special
    Bonjour,.
    voila mon probleme :
    je dois faire un script qui renvoie au hasard 2 nombre x et y
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mt_srand((float) microtime()*1000000);
    $x=mt_rand(1,256);
     
    mt_srand((float) microtime()*1000000);
    $y=mt_rand(1,192);
    mais mon probleme c'est lors de l'appel du script pour une deuxieme je dois pas utiliser des valeurs de x et y que j'ai deja utilisé.
    ma question en fait je veux votre avis sur une solution rapide .

    1ere methode
    prendre 2 nombre avec mt_rand je verifie dans une base de données si je les ai deja utilisé si oui je prend au hasard 2 autres sinon j'enregistre ces 2 valeurs dans la bases de données.
    je sais pas si c'st une bonne methode car par exemple s'il reste une seule pair(x,y) non utilisé ca sera difficile de trouver .

    2eme methode :
    mettre ts les valeurs dans une base de données .
    je sais pas si ca existe une fonction mysql qui re renvoie une entrée au hasard (si vous connaissez .. ) et je supprime apres cette entree .

    voila j'espre que vous allez m'aider .
    merci d'avance

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut Re: nombre au hasard un peu special
    Citation Envoyé par .:dev:.
    2eme methode :
    mettre ts les valeurs dans une base de données .
    je sais pas si ca existe une fonction mysql qui re renvoie une entrée au hasard (si vous connaissez .. ) et je supprime apres cette entree .
    Salut, j'ai pas trop d'avis au sujet de la méthode à utiliser, par contre, j'ai la réponse à ta question :
    http://php.developpez.com/faq/?page=...ment_aleatoire

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Ce genre de problème peut se résoudre avec qq fonction php,
    tu crée un tableau avec des valeurs genre, 0, 1, 2, 3, 4, 5, ...
    ensuite tu le brasse aléatoirement. Ceci garanti qu'une valeur
    n'existe qu'une fois.

    Une fois la tableau brassé, tu extrait tes nombres un à un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    	$x_list = range(0, 256); // crée un tableau avec une suite de nombres
    	shuffle($x_list); // brasse aléatoirement le tableau
    	$x = array_pop($x_list); // extrait un élément du tableau
    ?>
    Tu peux sauver ton tableau dans une db entre chaque requêtes ou
    dans un fichier. regarde aussi serialize et unserialize.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Sa depends surtout du nombre de nombre à générer de manière unique et sur cb de page tu dois les sauvegarder.

    Si tu n'as que peu de nombre à générer sur peu de pages sa peut valoir le coup de les sauvegarder dans une session peut être :s

    Pour ce qui est de la base de donnée, la deuxieme solution me semble alambiqué car tu ne dois surement pas être le seul à parcourir ton site :s
    (J'ai le sentiment que tu vas avoir des problème de partage de ressources, mais je peux me tromper... ou pas)

    Pour la première méthode, avec une bonne conception de bdd cela ne devrait pas être excessif, donc je suis plutot pour.

Discussions similaires

  1. les nombres au hasard en java
    Par jm49 dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2007, 16h58
  2. [Conception] SELECT aux hasards en multi table
    Par Just dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/10/2006, 22h27
  3. [FLASH MX2004] Pop-up un peu spécial.
    Par Atane dans le forum Flash
    Réponses: 2
    Dernier message: 02/10/2006, 11h33
  4. Réponses: 4
    Dernier message: 09/08/2006, 10h27
  5. [FLASH MX2004] LoadVars un peu special
    Par guy2004 dans le forum Flash
    Réponses: 14
    Dernier message: 14/03/2005, 22h17

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