Newsgroup: it.comp.www.php
Titolo: database dinamico con le date

Scusate del titolo ma non so propio cosa scrivere :D
Allora volevo porvi un quesito che non riesco a risolverlo, come
sempre la faccio breve .  . .
Avete presente un timer composto da  ore e secondi tipo:  2:55
per crearlo ok, penso che basi un po di js, ma vorrei capire come sia
possibile fare una cosa del tipo allo scadere di questo timer, il
database faccia delle operazioni da me scelte . . .
questo dubbio mi è venuto quando per caso mi so trovato su questo
sito:
hxxp://
www.bidplaza.it
guardando quel time che scorre come fa a capire il database che allo
scadere deve chiudere l' asta ? .-.
qualcuno può spigarmi come si possa fare ?
oppure se conoscete un sitema open souce che abbia una funzione di
questo tipo ?
grazie . . .

 grazie . . .
Tramite una procedura che all'ora x provvede ad aggiornare il database 
(via cron, via AT....)
	Francesco

 scadere deve chiudere l' asta ? .-.
Non lo fa.
Nel database e` memorizzata direttamente l'ora di scadenza dell'asta.
Quando tu accedi alla pagina viene creato un countdown in javascript che 
conta da "adesso" a quella data/ora. Quando quel countdown scade, il 
server non fa proprio niente. Al limite il browser ricarica la pagina (o 
parte della pagina tramite ajax), e a quel punto il server legge il DB e 
vede che l'asta e` scaduta, mandandoti quindi la pagina con l'indicazione 
appropriata.
Se il server chiudesse l'asta quando un timer in javascript raggiunge lo 
zero, prova a pensare cosa succede con 1000 utenti che stanno guardando 
l'asta: arrivano 1000 richieste di chiusura dell'asta, a distanza di 
qualche millisecondo (o secondo, dipende dalla rete).
O metti caso che nessuno guardi l'asta: quella rimane aperta all'infinito.
In pratica il countdown e` solo indicativo.
Se non lo fosse, sarebbe un buco di sicurezza.
 
Bye.

 Bye.
ok quindi viene memorizzata nel db già l' ora di sadenza dell' asta,
altrimenti se succede una cosa del genere come ho detto io, te dici
che accadrebbe una falla di sicurezza, quale ?  il DOS ?
cmq. niente, so un po coccio :D ho ancora qualche dubbio . . .
lo stesso sistema lo usano anche i browsergame, praticamente allo
scadere di quella ora si elimina un dato oggetto nel carrello (per
esempio)
io non riesco a capire a questo punto quale legame c' è tra il js e il
database ? nessuno ?
se cosi fosse come viene programmato il codice js ?
e il db come fa a sapere che l' ora è scaduta, per poter poi mandare
alla pagine la scritta "asta scaduta" ?
l' aggiornamento viene fatto tramite js quando il timer scade ok, ma
poi questo ?
grazie . . .

 tramite js quando il timer scade ok, ma poi questo ?
Il DB non e` "intelligente". Non lo sa. Lui sa solo che in una certa riga 
di una certa tabella c'e` una data.
Quando l'utente accede a quella pagina, PHP va a leggere quella riga, si 
accorge che la data e` nel passato e scrive "Asta scaduta" invece di "Asta 
in corso".
Una cosa tipo
if ($row["scadenza"] < time() ) {
	print "Asta scaduta";
} else {
	print "Asta in corso";
	print '<script type="text/javascript"> bla bla bla </script>';
}
Bye.

 wrote:

ah quindi ogni oggetto che metto all' asta, non solo devo inviare la
data al db, ma devo anche creare il codice js tra l' istruzione if ?
giusto ?  :D
cmq. thx  ;)

 data al db, ma devo anche creare il codice js tra l' istruzione if ?
Devi innanzitutto chiarire i ruoli.
C'e` il programmatore (P), l'utente inserzionista (I) e l'utente 
"consultatore" (C).
E poi c'e` il server (S) su cui gira PHP e il DB con l'applicazione (A) e 
il browser (B).
P programma A, in PHP, che gira su S ed accede a DB.
I si collega ad A, inserisce i dati dell'asta, compresa la data di 
scadenza. A si collega al DB e memorizza i dati, compresa la data di 
scadenza.
A quel punto C si collega ad A e chiede i dati dell'asta. A legge dal DB i 
dati e presenta la pagina a B, e quindi a C. Se e` attivo JS, A avra` 
impostato un JS che fa un countdown, e che ora C sta vedendo.
Bye.

 wrote:

ok grazie, ultima cosa, come mi consigli di implementare il codice js,
ad oggetti cosi risparmi un po di codice ?

 ad oggetti cosi risparmi un po di codice ?
Javascript ha una modalita` ad oggetti un po' diversa dal solito. Si basa 
su prototipi invece che su classi. Quindi occhio alle fregature. :)
Io personalmente uso jQuery per quasi tutto, e a dire il vero non ho mai 
implementato un timer in JS, ma probabilmente la cosa e` talmente semplice 
che non credo ti serva programmazione OO.
Bye.

 su prototipi invece che su classi. Quindi occhio alle fregature. :)
Non esclusivamente
Fields=function(uName,uValue){
   this.Active =null  /**  @Property Active: Oggetto attivo*/
   this.Delimiters = [";","="] /**  @Property Delimiters:
   /**   - - - - - - - Methods   - - - - - - - - - */
   this.isKey= function() { return this.Type=="key"?true:false}
   this.isToken= function() { return this.Type=="token"?true:false}
   this.isValue= function() { return this.Type=="value"?true:false}
   this.exists= function(param) {return typeof 
this.getItem(param)=="string"?false:true}
   this.slice = function(param,sDelim) {
	aRC=[]
	for(ix=0;ix<sDelim.length;ix += param)
	aRC[aRC.length]= sDelim.substr(ix,param)
	return aRC}
}
lo so che questo e ng di php ma.....
poi anche
Fields.prototype.getToken = function (delimiter) {
     return 
this.isToken?this.Name+delimiter+this.Value:this.isValue?this.Value:this.Name
}
-- 
ac
y-1=x


wrote:

ammazza io poco ci ho capito XD, però a quanto vedo la sintassi è
quasi uguale al c++ O_O (eh già derivando da esse :|) . . .
cmq. vi ringrazio per i vari dubbi che mi avete levato, ciauz  :D