Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Problema di logica

  1. #1

    Problema di logica

    Salve a tutti, vorrei porvi il mio quesito che da giorni non mi fa dormire:
    -Ho un file con vari elementi (ES. elemento1, elemento2, elemento3).
    -Da questo file, tramite un espressione regolare in php, estraggo dei dati grazie all'utilizzo di un batch che esegue l'estrazione in automatico ogni qual volta il file subisce una modifica.
    -Dopodich� inserisco gli elementi all'interno di un database mysql attraverso INSERT INTO.

    Questo file ad una certa ora (NON REGOLARE) si svuota (NON COMPLETAMENTE).

    Il problema che ho � che: inserendo i dati all'interno del database attraverso INSERT INTO quando uno degli elementi (ES. elemento1) viene rimosso APPOSITAMENTE, ovviamente, esso non viene rimosso all'interno del database.
    Per� se usassi REPLACE invece di INSERT, quando il file si svuoter�, verranno eliminati anche gli altri elementi all'interno del database (ES. elemento1, elemento2, elemento3) e quindi adesso sono bloccato.
    Come potrei risolvere?
    Grazie
    PS. non l'ho inserito nella sezione database perch� forse la soluzione sta in una via differente all'uso del file batch!

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,533
    Ma questo file da cosa viene generato?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Ma questo file da cosa viene generato?
    Da un gestionale (per esempio)

    Io estraggo tutti i prodotti con la P (qui ci sono solo quelli con il flag P) e li inserisco in un database! Ad una certa ora, quando viene effettuato l'ordine (quindi 2 volte al giorno) il file si svuota ma in maniera random! Alcuni prodotti con la P e senza P restano (solitamente sono sempre gli stessi e sono vecchi) ma a me non interessano! Tutto ciò che vorrei è mantenere aggiornato il db con i prodotti aventi la P (lo otterrei usando REPLACE poichè a volte viene annullata la "P"renotazione di un prodotto quindi alcuni record precedentemente inseriti nel db devono essere eliminati) ma non supererei il problema dello svuotamento automatico (che utilizzando REPLACE cancellerebbe tutto)
    Ultima modifica di supersqualo; 01-10-2017 a 14:35

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,107
    Il file contiene sempre i prodotti che hanno la P, se non ci sono li devi eliminare.
    Due soluzioni
    - svuota la tabella e riempila nuovamente ad ogni esecuzione
    - usa un identificativo univoco tra file e db per aggiornare i dati (ad esempio, aggiungi un campo "dataAggiornamento" che aggiorni ad ogni esecuzione e alla fine della stessa cancelli quelli non aggiornati, se ce ne sono)

  5. #5
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Il file contiene sempre i prodotti che hanno la P, se non ci sono li devi eliminare.
    Non ho capito cosa significa? Il file contiene sia prodotti con la p che senza la p (con l espressione regolare isolo i prodotti con la P) quando si svuota restano comunque prodotti con la p e senza la p che non mi creano nessun problema e possiamo non calcolarli proprio (se ne deve tener conto solo nella logica, ovvero non puoi sfruttare un if del tipo se le P=0 nn eseguire la query)
    Due soluzioni
    - svuota la tabella e riempila nuovamente ad ogni esecuzione
    - usa un identificativo univoco tra file e db per aggiornare i dati (ad esempio, aggiungi un campo "dataAggiornamento" che aggiorni ad ogni esecuzione e alla fine della stessa cancelli quelli non aggiornati, se ce ne sono)
    -Se usassi REPLACE e come se la riempissi ogni volta ma non posso perchè quando il file si svuoterà verranno cancellati tutti i record nella tabella
    -Questa non l ho capita
    GRAZIE

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,107
    la prima era un'affermazione, quello che ho capito dal tuo post iniziale.

    posto che non ho capito come viene aggiornato questo file sul quale basi il tutto (è un file che contiene tutto o contiene solo i dati "modificati" nell'intervallo di tempo tra l'esportazione precedente e quella attuale?), ti spiego la seconda:
    1. trova una chiave univoca che ti consenta di collegare con certezza la riga del file con quella del database dove salvi i dati
    2. usa questa chiave per fare gli aggiornamenti e salva in un nuovo campo il momento dell'esecuzione dell'aggiornamento
    3. usa il nuovo campo "dataAggiornamento" per ripulire il DB quando serve

  7. #7
    Quote Originariamente inviata da clasku Visualizza il messaggio
    la prima era un'affermazione, quello che ho capito dal tuo post iniziale.

    posto che non ho capito come viene aggiornato questo file sul quale basi il tutto (è un file che contiene tutto o contiene solo i dati "modificati" nell'intervallo di tempo tra l'esportazione precedente e quella attuale?), ti spiego la seconda:
    1. trova una chiave univoca che ti consenta di collegare con certezza la riga del file con quella del database dove salvi i dati
    2. usa questa chiave per fare gli aggiornamenti e salva in un nuovo campo il momento dell'esecuzione dell'aggiornamento
    3. usa il nuovo campo "dataAggiornamento" per ripulire il DB quando serve
    Allora ti spiego meglio di cosa avrei bisogno (ho confuso l'uso di REPLACE)
    1)Avrei bisogno di una query che elimini i prodotti con la P, dal database, qualora vengano eliminati volontariamente all'interno del gestionale
    2)Che non elimini tutto quando il file si svuoterà!
    --------------------
    1)La chiave univoca suppongo sia il prodotto... il nome del prodotto
    2)in che maniera? non riesco ad immaginare lo sviluppo
    3)anche questo non lo capisco

    E chiedo scusa ho confuso l'uso di REPLACE

    Ti posto tutto il sistema se puoi testarlo mi faresti un enorme piacere
    https://ufile.io/tm15d
    Ultima modifica di supersqualo; 01-10-2017 a 19:07

  8. #8
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,533
    Che tipo di accesso hai al gestionale? È sviluppato da terzi? Esiste qualche altra forma di esportazione che non sia questo file che sembra per uso interno?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #9
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Che tipo di accesso hai al gestionale? È sviluppato da terzi? Esiste qualche altra forma di esportazione che non sia questo file che sembra per uso interno?
    Si è di terzi, un altra forma di esportazione sarebbe esportarlo in csv ma purtroppo non posso farlo avvenire automaticamete! Dovrei aprire il gestionale ogni giorno prima di fare l'ordine definitivo ed esportarli! Ma purtroppo io non sono sempre a lavoro e vorrei evitare di delegare altri a farlo!

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,533
    Hai provato a contattare l'azienda che lo produce per chiedere se c'è un modo di automatizzare esportazione e/o backup?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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