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

Langage PHP Discussion :

Générer un nombre aléatoire via une date


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut Générer un nombre aléatoire via une date
    Bonjour,

    Imaginons une table ainsi :

    TRUC
    ->id
    ->nom

    J'aimerai obtenir un identifiant unique selon un jour donné.

    Par exemple:
    * le 19/10/2010 : id = 3
    * le 20/10/2010 : id = 10
    * ...
    * le 25/12/2011 : id = 8
    * ...

    Quelle fonction php me conseillez-vous d'employer afin d'obtenir un "integer" unique selon une date donnée (juste la date ; pas l'heure ) ?

    Merci d'avance pour vos éclaircissements.

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    et visiblement, il n'y a aucun rapport entre la date et le nombre genere..

    sinon tu peux pas utiliser le timestamp ?

    sinon tu peux utiliser

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    sinon uniqid

  4. #4
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Cela revient à faire du pseudo-aléatoire on est d'accord.

    Imaginons qu'il y ait 10 000 enregistrements, le nombre généré à partir de la date doit absolument etre compris entre 1 et 10000.

    func(1,10000,date('Ymd')) où func est déjà une vraie fonction anticipée par php...

  5. #5
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    et tu peux pas passer par l'auto-increment ?

    parceque imagine, tu as 9000 gars... un nouveau arrive.. il devrai faire N fois le random entre 1et10000 pour trouver un id encore libre...

  6. #6
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    En fait, je veux afficher un objet sur la page d'accueil et je veux qu'il soit unique pour un jour donné.

    Exemple : La pomme du jour => Affichage d'une pomme.

    On a réglé le problème en ajoutant une colonne date dans la table, mais le code associé est lourd et quand il y aura 50 000 pommes...

    Donc si on pouvait générer ce nombre grâce à une date, ça serait génial. Ca sera en fait une sorte de md5 mais avec une date et compris dans des bornes données.

    Vous voyez ?

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    Salut,

    Je ne vois pas en quoi le code serait lourd...tu dis que t'as ajoute un champ date.. c'est niquel...une petite requete SQL et c'est bon

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_produit FROM ta_table WHERE champ_date = curdate()
    theoriquement, tu recuperes donc l'id du produit qui doit etre affiche ce aujourd'hui... apres, te reste plus qu'a recuperer le detail du produit

  8. #8
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Dans ce cas chaque visiteur doit exécuter un script qui vérifie si la date du jour est passée, et remettre à jour la date dans la table.

    Ce n'est pas ce qu'on veut.

Discussions similaires

  1. Réponses: 19
    Dernier message: 29/08/2012, 22h49
  2. Réponses: 8
    Dernier message: 20/02/2012, 09h45
  3. [PHP 5.2] Nombre générer un nombre aléatoire dans une boucle
    Par link.80 dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2011, 08h26
  4. Réponses: 1
    Dernier message: 19/05/2011, 12h48
  5. Réponses: 8
    Dernier message: 15/07/2008, 13h00

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