Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151

    Visualizzare pratiche meno aggiornate

    Ciao ragazzi,
    Come sempre Cerco il vostro aiuto nei ragionamenti logici per la creazione di query php su mysql.
    Vorrei visualizzare in ordine di tempo (dalla più recente) tutte le pratiche meno aggiornate.
    Mi spiego meglio...
    Le pratiche contengono un campo 'note' che ogni volta che viene fatta una attività viene aggiornato. Vorrei visualizzare quelle che non vengono aggiornate da tempo.
    Purtroppo pero il campo 'note' è un semplice campo di testo (es: 19.09.10 spedita raccomandata). C'è qualche operazione a me oscura che possa verificare quando questo campo viene aggiornato?

    Grazie!

  2. #2
    Con i soli dati presenti non credo si possa riuscire, a meno che il campo "note" non venga compilato con rigide regole che permettano di individuare automaticamente la data (ma visto l'esempio mi sembra improbabile).
    L'unico modo che mi viene in mente e' aggiungere un campo "dataUltimaModifica", ma non funzionerebbe sui vecchi dati.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Veramente c'è un inserimento rigido, ad ogni aggiunta viene inserita sempre la data in questo formato: gg.mm.aa attività svolta // . Pero proprio non saprei come sia possibile giocare con le date inserite così.
    Grazie

  4. #4
    Ah allora e' fattibile:
    codice:
    SELECT <tuoi campi>,
           CONCAT(
                SUBSTRING(note, 7, 4),
                SUBSTRING(note, 4, 2),
                SUNSTRING(note, 1, 2)
            ) AS data
            <tue condizioni>
            ORDER BY data DESC
    con SUBSTRING estrai anno, mese e giorno dalle note, li unisci con CONCAT e fai l'ordinamento sul valore ottenuto.

  5. #5
    k.b sei il massimo... geniale l'inversione della data in formato YYMMDD (100919=> 19.09.2010) per poter ordinare i record...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Non credo sia fattibile perchè nel campo note non c'è solo una data....

    esempio:
    Pratica: 1
    Cliente: x
    Note : 10.01.10 Apertura pratica // 15.03.10 Inviata raccomandata // 16.04.10 Inviata ulteriore raccomandata // 10.09.10 Contattato cliente

    l'ideale sarebbe prendere l'ultima data inserita... per ordinarle con l'ultimo aggiornamento in ordine inverso... ma non credo sia fattbile.
    Comunque grazie k.b.

  7. #7
    Diventa troppo complesso almeno per le mie conoscenze di SQL per farlo direttamente in una query, ma - se il formato e' quello sicuramente - e' fattibile in PHP senza grosse difficolta'. Estrai i dati e processi la linea note splittandola usando // come separatore, prendi l'ultimo valore della lista restituita e applichi il procedimento sopra esposto per l'ordinamento dei valori.

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    che io sappia non esiste un modo direttamente in MySQL per esplodere il contenuto di un campo in base ad un dato "separatore"

    però potresti fare uno script che ti consenta, dopo aver creato un nuovo campo "dataUltimaModifica", di settare l'ultimo valore in un formato che possa poi essere ordinato, aggiornando lo storico. Poi modifichi il programma di inserimento note perché registri la modifica oltre che nel campo "note" anche in quello "dataUltimaModifica".

    sistemato il DB puoi fare una semplice query

    diciamo che è uno sbattimento oggi per un futuro più semplice

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Purtroppo non posso modificare il database. Uso un piccolo gestionale chiuso. Io posso solo giocare sulle query per estrapolare i dati come voglio.
    Quindi devo solo sperare che si possa fare come dice k.b.
    Grazie cmq

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non ho capito esattamente come vuole gestire la query k.b: cioè, estrai i dati, ottieni le informazioni che ti servono dal campo note e poi? Hai un array in php da ordinare e da usare poi per la query? Ma devi anche avere perlomeno gli id dei record.

    Insomma, un programmino complesso, almeno mi sembra così a prima vista.

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.