1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP/Mysql 2 casas inteiras

Discussão em 'Web Development' iniciada por LightningXpto, 8 de Agosto de 2008. (Respostas: 10; Visualizações: 1208)

  1. LightningXpto

    LightningXpto Power Member

    O que eu pretendo é inserir por exemplo o número "2" num campo e ao enviar para a base de dados, o valor a chegar lá fosse "02", ou seja com duas casas inteiras. É possivel fazer isto?
     
  2. Boa tarde,

    Antes de mais eu não uso PHP/MySQL, contudo vou tentar de arranjar uma solução simples que podes adaptar com as funcções existentes nessas linguagens.

    Então a minha sugestão é:

    1º Converter o numero para texto;
    2º Verificar se o comprimento do texto é inferior a 2 digitos;
    3º Se for inferior a 2 digitos concatenar o zero a esquerda.

    Em T-SQL pode ser feito assim:

    Exemplo 1
    select
    case when len(convert(varchar,2))<2
    then '0'+convert(varchar,2)
    else convert(varchar,2)
    end

    Exemplo 2
    select replicate('0',2-len(convert(varchar,2))) + convert(varchar,2)

    Espero que seja util,
    LoboMau
     
    Última edição: 8 de Agosto de 2008
  3. LightningXpto

    LightningXpto Power Member

    hmm boa ideia, obrigado!
     
  4. anjo2

    anjo2 Power Member

    a minha sugestão é não fazeres isso com o Mysql, inseres com o numero normalmente e ao ires buscar adicionas um 0 atrás

    PHP:
    <?php
        
    if($number 10$number "0".$number;
    ?>
     
  5. DanielGomes

    DanielGomes Power Member

    Colocar a opção tipo INT(2) ZEROFILL no campo da base de dados.
     
  6. LightningXpto

    LightningXpto Power Member

    anjo2 essa função é simplesmente brilhante e simples! Mt obrigado a todos!
     
  7. hostmake

    hostmake Power Member


    http://pt.php.net/str_pad
     
  8. MPalhas

    MPalhas Power Member

    dependendo do contexto, não te esqueças que pode também ser preciso verificar se o número é maior que -10

    mas acho que é preferivel a função que disse o hostmake
     
  9. LightningXpto

    LightningXpto Power Member

    Sim mas é para gestão de stock, e como quero ordenar por quantidades, caso nao tivesse 2 casas inteiras ele ordenaria: 1 , 10, 2 , 3 , 4 , 5 , 6 .... e com 2 casas ficaria 01, 02 , 03 ,04 .... 09, 10
     
  10. anjo2

    anjo2 Power Member

    Se tiverem como inteiros a ordenação tem de ficar bem
     
  11. LightningXpto

    LightningXpto Power Member

    Tens razão! Estava em VARCHAR lol... já funciona tudo como eu queria em INT thx :)
     

Partilhar esta Página