Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Per matematici :) problema calcolo e rateizzo

    Gentile Team aiutatemi a capire come sciogliere questo problema:


    Ho una cifra di partenza in formato decimal
    $importo_ben=25000.00


    che divido per 60 rate e ottengo
    $rata=415,17


    poi ho una data di inizio finanziamento
    $data_primo_rimb=05/02/14

    ora dovrei creare un piano di rateizzo in una tabella dove è certo solo il primo record
    così formato

    05/02/14 | 415,17

    e dovrei creare tutti i successivi 60 mesi che differiscono solo nel mese
    ossia

    05/02/14 | 415,17
    05/03/14 | 415,17
    05/04/14 | 415,17

    fino a 60 rate

    come posso procedere???

    grazie mille
    buon lavoro
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Se invece del formato gg/mm/aa usi lo standard aaaa-mm-gg per la prima data, puoi usare strtotime() in questo modo
    Codice PHP:
    $prima_data '2014-02-05';

    for ( 
    $i=0$i<60$i++ )
    {
        echo 
    date('g-m-y',strtotime("$prima_data + $i month")) . '<br />';

    Ovviamente al posto dell'echo devi salvare i dati nel db.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Se invece del formato gg/mm/aa usi lo standard aaaa-mm-gg per la prima data, puoi usare strtotime() in questo modo
    Codice PHP:
    $prima_data '2014-02-05';

    for ( 
    $i=0$i<60$i++ )
    {
        echo 
    date('g-m-y',strtotime("$prima_data + $i month")) . '<br />';

    Ovviamente al posto dell'echo devi salvare i dati nel db.
    non è corretto il formato della data da te usato nell'esempio... il mio formato è 05/02/14

    e pertanto mi da errore :S
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    Quote Originariamente inviata da Stanislao Visualizza il messaggio
    Per matematici problema calcolo e rateizzo
    Anche i non-matematici posso risolvere il tuo problema xD

    Se ti serve solo calcolare i successivi 60 giorni, può fare al caso tuo uno script che ho fornito a un altro utente con problema simile. Ecco il link: http://forum.html.it/forum/showthrea...readid=2916221 (usa il post #9 che tiene conto anche degli anni bisestili).
    Se lo usi, il tuo $numero_turni sarà 60, per il resto non c'è molta differenza

  5. #5
    [QUOTE=ZioLuffio;25257852]Anche i non-matematici posso risolvere il tuo problema xD

    in pratica devo solo incrementare di un mese la mia data per 60 volte
    così:
    05/02/14
    05/03/14
    05/04/14
    e così via per 60 volte....

    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Quote Originariamente inviata da Stanislao Visualizza il messaggio
    non è corretto il formato della data da te usato nell'esempio... il mio formato è 05/02/14

    e pertanto mi da errore :S
    Hai letto tutto quello che ho scritto?
    Secondo me hai solo preso il codice e fatto copia/incolla.

  7. #7
    Quote Originariamente inviata da Stanislao Visualizza il messaggio
    in pratica devo solo incrementare di un mese la mia data per 60 volte
    così:
    05/02/14
    05/03/14
    05/04/14
    e così via per 60 volte....

    Scusa avevo letto male il tuo problema, non devi aumentare i giorni come pensavo ma solo i mesi... allora è ancora più facile di quello che pensavo! Mi sono riagganciato al codice di quel link che ti ho dato:
    Codice PHP:
    $data $data_primo_rimb '05/02/14';
    $rata=415,17;

    list(
    $gg,$mm,$aa) = explode('/'$data);
    $mm = (int)$mm;

    $numero_rate 60;

    echo 
    $data.' | '.$rata."<br />\n";

    for(
    $i=0$i<$numero_rate-1$i++){
        
    $mm $mm%12+1;
        if(
    $mm==1)
            
    $aa++;
        
    $data $gg '/' str_pad($mm,2,'0',STR_PAD_LEFT) . '/' $aa;
        echo 
    $data.' | '.$rata."<br />\n";

    Non l'ho provato ma dovrebbe andare bene
    Ultima modifica di ZioLuffio; 14-10-2014 a 20:07

  8. #8
    ma nessuno proprio che provi mai ad usare DateTime/DateInterval eh? per l'autore del post: la data tienitela sempre in YYYY-mm-dd H:i:s, poi se vuoi la formatti a video in d/m/Y
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    ma nessuno proprio che provi mai ad usare DateTime/DateInterval eh? per l'autore del post: la data tienitela sempre in YYYY-mm-dd H:i:s, poi se vuoi la formatti a video in d/m/Y
    Vista la battaglia persa nel consigliare mysqli o PDO al posto di mysql (che è addirittura deprecato), non mi ci metto proprio a consigliare DateTime.

  10. #10
    Funziona!

    Quote Originariamente inviata da ZioLuffio Visualizza il messaggio
    Scusa avevo letto male il tuo problema, non devi aumentare i giorni come pensavo ma solo i mesi... allora è ancora più facile di quello che pensavo! Mi sono riagganciato al codice di quel link che ti ho dato:
    Codice PHP:
    $data $data_primo_rimb '05/02/14';
    $rata=415,17;

    list(
    $gg,$mm,$aa) = explode('/'$data);
    $mm = (int)$mm;

    $numero_rate 60;

    echo 
    $data.' | '.$rata."<br />\n";

    for(
    $i=0$i<$numero_rate-1$i++){
        
    $mm $mm%12+1;
        if(
    $mm==1)
            
    $aa++;
        
    $data $gg '/' str_pad($mm,2,'0',STR_PAD_LEFT) . '/' $aa;
        echo 
    $data.' | '.$rata."<br />\n";

    Non l'ho provato ma dovrebbe andare bene
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.