• User Attivo

    Inserire valore date mancanti in database MySql

    Ho uno script che mi inserisce dei valori prelevati da un xml in un database mysql. Il problema è questo: nell'xml non sono presenti tutti i giorni dell'anno, perchè i valori vengono impostati solo nei giorni lavorativi. Dovrei fare in modo che vengano in qualche modo inseriti nel database anche i giorni non lavorativi, con il valore del precedente giorno lavorativo. Qual'è la via più breve?


  • User

    La mia scelta su due piedi sarebbe quella di controllare se il giorno è lavorativo tramite apposita funzione, dopodichè se lo è, poni l'elemento in posizione x all'elemento x-1.

    Ovviamente c'è poi da controllare il fatto che x sia diverso da zero e menate varie, però fondamentalmente il concetto è quello.

    Dipende più che altro da come hai strutturato il lavoro, se conti i giorni da 1 a 365, oppure ragioni in mesi.


  • User Attivo

    In pratica ho un xml che rappresenta delle quotazioni di borsa ed ha una struttura simile

    
    <quotazione>
    <data>19-11-2009</data>
    <valore>1000.00</valore>
    </quotazione>
    
    ```Il problema è che la borsa nei giorni festivi non lavora, per cui nell'xml ci sono solo i giorni lavorativi, con la rispettiva quotazione. Dovendo creare il grafico dell'andamento, però, io volevo inserire anche i giorni festivi, con il valore dell'ultimo giorno lavorativo precedente, in modo tale da suddividere l'asse delle x in settimane. Se può essere utile per qualche suggerimento, per creare i grafici utilizzo jpgraph.

  • User

    Una volta parsato l'XML il controllo è "semplice":

    se NON esiste il valore in una determinata data, allora prendi il valore della data meno un giorno (o del 31 del mese precendente, etc..).

    Il difficile sta se lavori non in tempo reale (nel senso che ti devi costruire ogni momento la "tabella" annuale o del periodo da te prescelto), allora qui ti devi fare mille controlli sull'esistenza di tale giorno, in tale mese di tale anno..


  • User Attivo

    Ok, grazie. Provo a partire da questo ragionamento.