Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    8

    Aggiungere cifre prima dei numeri

    Salve a tutti il titolo non è molto chiaro ma non sapevo come spiegare in poche parole quello che so cercando.
    Allora facciamo ordine: io possiedo 500 immagini gif nominate con numeri progressivi in questo modo:
    001, 002, 003... 025, 026 ... 156, 157 ecc
    poi ho dei dati in una tabella del DB ordinato con dei numeri progressivi che però son ordinati in questo modo:
    1, 2, 3...25, 26 ... 156, 157 ecc
    ecco io devo creare dei collegamenti che mi associno le immagini all'ID.
    Quindi devo trovare come aggiungere gli zeri necessari prima dell'id così da poterli collegare acilmente...

    [img]img/cartella/".$collegamentoDB[[/img]

    Qualche idea su come fare?
    Sono riuscito a spiegarmi?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    guarda la funzione sprintf()

  3. #3
    Originariamente inviato da Alhazred
    guarda la funzione sprintf()
    ..o anche, a logica spicciola, aggiungere due 0 se la l'id letto come stringa è lungo 1, uno 0 se uguale a 2...

  4. #4
    in asp si farebbe così:
    codice:
    valore = right("000" & Numero, 3)
    cioè concateni 3 zeri alla cifra e poi prendi i tre caratteri a partire da destra della stringa. Poichè in PHP non c'è la funzione right (e neanche left) devi prima implementarle così:
    codice:
    //restituisce i primi $len caratteri di $str
    function left($str,$len){
            return substr($str, 0, $len);
    }
    
    //restituisce gli ultimi $len caratteri di $str
    function right($str,$len){
            $len=$len*-1;
            return substr($str, $len);
    }
    dopodichè procedi così:
    codice:
    $valore = '000' . right($numero,len($numero));
    Ho scritto il codice di getto verificalo e vedi se funziona....

    ciao

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma usare str_pad() non va bene?

  6. #6
    ma basta anche fare

    //aggiungi quanti 0 ti servono in base alla lughezza della cifra
    $str = '00' . $cifraDelDb

    la $cifraDelDb verrà considerata una stringa e concatenata con gli altri 0.
    Poi però devi trattarla come stringa, anche perchè se scrivi un intero nel formato 001, verrà sempre stampato come 1 perchè gli 0 è come se non esistessero...

  7. #7
    in effetti basta cercare sul php.net e avere la risposta:
    codice:
    <?php
    
    function number_pad($number,$n) {
    return str_pad((int) $number,$n,"0",STR_PAD_LEFT);
    }
    
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.