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

EDI, CMS, Outils, Scripts et API PHP Discussion :

ID auto generation par date PHPRunner


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut ID auto generation par date PHPRunner
    Bonjour,

    Je suis sur phprunner et je cherche a generer le ID en auto baser sur la date moi et le jour pour donner quelque chose comme :

    20171016001
    20171016002
    20171016003
    ....
    20171016012
    20171016013

    J'ai suivi un tuto http://asprunner.com/forums/topic/14...te-autonumber/

    Malheureusement a la fin il y a la solution mais qui ne marche pas du tout chez moi.. Je ne comprends pas (

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql="select max(substr(PURCHASE_NUMBER,9)) as mx from TABLENAME where substr(PURCHASE_NUMBER,7,2)=month(now()) order by mx";
    $rs=CustomQuery($sql);
    $data=db_fetch_array($rs);
    $str="SO";
    $str2=date("Ym");
    $str3=($data["mx"]+1);
    $values["PURCHASE_NUMBER"]="$str$str2".str_pad($str3, 5, 0, STR_PAD_LEFT);
    Cela me donne ceci :

    Nom : 002.png
Affichages : 825
Taille : 2,7 Ko

    Et si je veux ajouter une entree jai direct ceci

    Nom : 003.png
Affichages : 345
Taille : 3,0 Ko

    ....

    Niveau DB jai ceci... Est ce bien correct ?

    Nom : Region00.png
Affichages : 385
Taille : 5,6 Ko

    Aidez moi svp.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu veux quelque chose qui commence par l'année que vient faire "SO" dans l'histoire ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    Le SO etait just dans le topic initial.
    As tu une idee du problem?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce qu'on peut avoir le vrai code du coup ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    Voila ca arrive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql="select max(substr(PURCHASE_NUMBER,9)) as mx from TableName where substr(PURCHASE_NUMBER,7,2)=month(now()) order by mx";
    $rs=CustomQuery($sql);
    $data=db_fetch_array($rs);
    $str=date("Ymd");
    $str2=($data["mx"]+1);
    $values["PURCHASE_NUMBER"]="$str".str_pad($str2, 5, 0, STR_PAD_LEFT);
    = C la derniere ligne qui pose probleme. Si je la vire ca me genere bien

    201710171
    201710172
    201710173
    ...
    201710179

    Et c'est la tout le probleme ! Le phprunner est incapable de aller plus loin que le 9eme id par jour !
    C'est pourquoi on a besoin de la ligne code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $values["PURCHASE_NUMBER"]="$str".str_pad($str2, 5, 0, STR_PAD_LEFT);
    et pouvoir generer plutot

    2017101701
    2017101702
    2017101703
    ...
    2017101799

    Mais voila chz moi avec cette ligne ca me genere



    Franchement je sais meme pas de quoi represente ce chiffre...

    Bon corrige moi si je me trompe...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    tu as fais le debugage de base ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql="select max(substr(PURCHASE_NUMBER,9)) as mx from TableName where substr(PURCHASE_NUMBER,7,2)=month(now()) order by mx";
    $rs=CustomQuery($sql);
    $data=db_fetch_array($rs);
    echo 'data : ' . $data["mx"] . '<br/>';
    $str=date("Ymd");
    echo 'str : ' . $str . '<br/>';
    $str2=($data["mx"]+1);
    echo 'str2 : ' . $str2 . '<br/>';
    $values["PURCHASE_NUMBER"]="$str".str_pad($str2, 5, 0, STR_PAD_LEFT);
    echo 'PURCHASE_NUMBER : ' . $values["PURCHASE_NUMBER"] . '<br/>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [MySQL] Suppression auto par date
    Par corentin2306 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/10/2015, 16h04
  2. [Paradox] Trier par date
    Par Fabs dans le forum Bases de données
    Réponses: 5
    Dernier message: 08/11/2006, 19h41
  3. Jeu de fichier par date...
    Par Little_Goldo dans le forum Linux
    Réponses: 2
    Dernier message: 17/03/2004, 11h09
  4. selection par date
    Par adgabd dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/01/2004, 10h28
  5. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07

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