Formater

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Formater

    Bonjour,
    J'ai besoin d’envoyer avec un formulaire une valeur unique composée de chiffres.
    J'ai d'abord pensé à utiliser la date (YmdHis), mais vu que je n'ai besoin que de 6 chiffres je ne vois pas trop comment faire alors j'ai pensé à utiliser l'ID de l'enregistrement. (C'est une commande dans mon cas)

    $id est bien l'id de la commande.

    J'ai fait:
    Code PHP:
    //Initialisation variable de transaction (basé sur l'ID de la commande)
    $id_trans $this-> order_info ['sid'];
    while (
    strlen ($id_trans) <6)
    {
    $id_trans '0'$id_trans;

    Mais la valeur $id_trans reste à zéro.

    Quelqu'un aurait-il une idée.

    Cordialement.

    Eric
    Dernière édition par Agrepe à 09/05/2018, 11h04

  • #2
    As tu d'abord vérifié que ton id trans est bien implémenté ? A l'aide d'un echo par exemple, avant ton while.
    Je suppose que ton while sert à compléter par des 0 en cas d'id trop court ?

    Personnellement j'utilise toujours la date/h/m/s, car ça se fait tout seul. Tu as besoin d'avoir maxi 6 chiffres ? Ou bien au minimum 6 ?

    Commentaire


    • #3
      Bonjour,
      Il me faut exactement 6 caractères.
      Le résultat est toujours 000000.

      $id_trans est bien l'Id de l'enregistrement (javais bien testé avant mon message)

      Cordialement.

      Eric

      Commentaire


      • #4
        Il faut vérifier $id_trans

        Perso, je ferais comme cela :
        Code HTML:
        $id_trans = $this-> order_info ['sid'];
        $id_trans = substr('000000'. $id_trans, -6);
        UP, le plugin universel à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Bonjour Loïc, (Cela me demande beaucoup d'effort...)

          Cela fonctionne maintenant.

          Toutefois si je fais :
          Code PHP:
          $id_trans $this-> order_info ['sid'];  $id_trans substr('000000'$id_trans, -6
          Il y a systématiquement 6 zéro avant l'id, donc la quantité de caractères est égale à 000000 suivi de l'Id.


          En faisant :
          Code PHP:
          $id_trans $this-> order_info ['sid'];
          while (
          strlen ($id_trans) <6)
          {
          $id_trans '0'$id_trans;

          J'ai bien 6 caractères en tout.

          Merci beaucoup.

          Cordialement.

          Eric

          Commentaire


          • #6
            Il y a systématiquement 6 zéro avant l'id
            Non, si on met -6 et pas 6
            -6 veut dire les 6 derniers

            J'ai testé ce code avec http://phptester.net/ avant de faire un copier pour te l'envoyer. Donc, il doit marcher !
            Code PHP:
            <?php
            $id 
            '123';
            echo 
            substr('000000'.$id, -6);
            Ce site est très pratique pour tester un fragment code ou pour tester pourquoi cela ne marche pas comme prévu
            UP, le plugin universel à découvrir sur https//up.lomart.fr
            bgMax
            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

            Commentaire


            • #7
              Ha oui, tu as mis -, autant pour pour moi.
              Merci pour le tuyau, je vais voir ça tout de suite

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X