Newsgroup: it.comp.www.php
Titolo: aggiornamento dati DB ad un certo orario.

C'è un sistema per aggiornare dei campi di un DB ad un determinato orario in
maniera automatica?
Ad esempio se ho una colonna di una tabella con valori numerici posso fare
in modo che ad un certo orario il valore ritorni pari a zero?

 wrote in message
dTGb7.17701$fA3.7...@news.infostrada.it...

lancia uno script con il chron tab ;)
--
Pixael.com
www.pixael.com
Servizi internet professionali
[Web design, programmazione
PHP e MySql, Grafica, Promozione]

 > in modo che ad un certo orario il valore ritorni pari a zero?
    Mi sa che c'è una soluzione u po' più semplice. Qual'è il problema che
richiede che ad una certa ora tutti i valori di una colonna 'tornino a
zero'?
        Cris
--
--
Cristiano Verondini
http://noway.ing.unibo.it

Scrivi uno script sql in un file che invierai tramite chron tab al database
alle ore prefissate.
In questo modo eviterai i problemi del timeout di php (troppo? troppo poco?)
in quanto sarà il motore del database ad occuparsi di tutto.
Andrea


Vi ringrazio tutti per il tempestivo supporto anche in questo torrido
agosto! Ma siccome sono particolarmente ignorante sia in termini di php che
di sql (sto studiando:)) sono ancora a domandarvi altre delucidazioni.
Il mio server sarà montato con OS Linux, server apache e mysql (se può
esservi utile).
Il problema, nei dettagli è questo:
Farò in modo di creare un db che mi raccolga i dati degli utenti inseriti
tramite una form e che andrà a compilare tutte le colonne che mi servono.
Una colonna sarà speciale e sarà "solo a mio uso", questa colonna conterrà
dati numerici.
Tramite un filmato flash dovrò pescare questi dati con una procedura di
login in maniera di accedere al sito in modo "personale" soprattutto per
quella colonna "speciale". ( e sino a questo punto non credo dovrei
incontrare problemi, nel caso vi chiederò ancora:-)).
Ora sorge il dubbio. Navigando per il sito il valore di questa "colonna
speciale" varierà a seconda delle opzioni e delle scelte (aumenterà,
diminuirà e così via). In ogni caso voglio che il valore di questa colonna,
ad un preciso orario, torni a zero e resetti la situazione iniziale.
Spero di essere stato chiaro:)
--
------------------------------------------
Kripsio - Web Illusion
kri...@libero.it
Icq: 26811867


In pratica quello che devi fare è l'UPDATE di una certa tabella su
determinati campi. La sintassi sql dell'istruzione UPDATE è
UPDATE NOME_TABELLA SET NOME_CAMPO=NUOVO_VALORE_CAMPO
quindi verrebbe nel tuo caso
UPDATE DATI SET COLONNA_SPECIALE=0
questa istruzione accetta anche se selezioni nello stesso modo
dell'istruzione select
quindi se hai bisogno di aggiornare solo una parte dei dati puoi fare
UPDATE DATI SET COLONNA_SPECIALE=0 WHERE COLONNA_CHIAVE=1
e aggiornerai a 0 il campo COLONNA_SPECIALE su tutti i record dove il campo
COLONNA_CHIAVE contiene 1
Tu sai che puoi lanciare instruzioni sql da script php ma il tuo problema è
quello di far
eseguire ad intervalli predeterminati lo script di aggiornamento. Potresti
anche farlo
lanciando attraverso il chron ( applicazione che permette la schedulazione
di
comandi ) direttamente lo script php ma non penso sia una soluzione valida
in quanto
potresti avere dei problemi con il timeout (dopo un certo tempo tutti gli
script php
vengono terminati) quando le tue tabelle diventeranno particolarmente
grandi.
Secondo me la cosa migliore è quella di salvare lo script SQL descritto
sopra
in file chiamato ad esempio aggiorna.sql A questo punto lancerai lo script
sql tramite il comando
mysql nome_database < nome_file_sql
dove mysql è il comando, nome_database è il nome del database che contiene
la tabella da aggiornare e nome_file_sql è il nome (comprensivo di percorso)
contenente lo script sql. quindi
mysql MIODB < /db/aggiorna.sql
A questo punto devi approfondire l'uso di chron e l'uso dell'istruzione
UPDATE.
Spero di esserti stato di aiuto
Andrea


non posso dire altro che sei un fenomeno:-))) grazie di tutto, mo mi metto
al lavoro e soprattutto a studiare per benino php e mysql.-)))