Differenza tra date

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
oihbò

or ora ho capito perchè su alcuni confronti tra date non mi fungeva lo script

la cosa è semplice da spiegare ho una data nel database(datetime) in questo formato Y-m-d H:i:s


ora devo semplciemente far compiere delle azioni in base alla data in cui uno si collega

in pratica devo contare nel database tute le righe che hanno la data inferiore al 7 del mese allora ho fatto una cosa del genere

PHP:
$t=07;

$dataconti=date("Y-m-".$t." H:i:s");

$today=date("Y-m-d H:i:s");

// poi estraggo la data che mi serve dal dataabse e la confronto

SELECT COUNT(*) from tabella WHERE data<=$dataconti
//etc 

if($today > $count_righe)

//fai qualcosa

in pratica se nel data c'è questa data 2012-10-7 20:00:00 $today gli risulta minore.

mentre per le altre date a due cifre funge tutto bene

avete un suggerimento per creare $dataconti=date("Y-m-".$t." H:i:s"); che sia uguale a anno corrente - mese corrente - (giorno che decido io) etc? mantenendo lo nel caso il giorno sia a numero singolo?

ho fatto una prova inserendo testualemnte 2012-10-07 00:00:00 e funge ma inserendo $t come 07 prende solo 7

Grazie
 
comunque devi metterlo tra apici se no viene trattato come intero
PHP:
$t="07";
 
ciao
ho riguardato il tuo script è c'è qualcosa che nonmi torna, ma mancando del codice può essere che mi sbagli
cosa vuol dire
if($today > $count_righe) ?
$todai dovrebbe essere una stringa (es. 2012.10.24 ....) mentre $count_righe dovrebbe essere un intero quindi l'if è sempre soddisfatto


p.s.
@criric se $t, come è probabile, proviene da un $_POST, l'if che ho postato ti mette abbastanza al sicuro
 
ciao
ho riguardato il tuo script è c'è qualcosa che nonmi torna, ma mancando del codice può essere che mi sbagli
cosa vuol dire
if($today > $count_righe) ?
$todai dovrebbe essere una stringa (es. 2012.10.24 ....) mentre $count_righe dovrebbe essere un intero quindi l'if è sempre soddisfatto


p.s.
@criric se $t, come è probabile, proviene da un $_POST, l'if che ho postato ti mette abbastanza al sicuro

no avevo sbagliato a scrivere il codice qua sopra

PHP:
SELECT COUNT(*) from tabella WHERE data<=$dataconti
//etc 

if($today > $count_righe)

nell'etc estraggo le righe che hanno come date minore uguale alla data modificata dal 7 quindi l'if in realtà era

PHP:
if($today > $riga_estratta)

cmq il 7 è una variabile fissa non mi arriva da un post ma la definisco io.


per cuoristà sapete come joomla impsta l'mktime? voelvo usare questo confronto nel time della tabella sessioni di joomla ma non capisco come ricava quelle cifre(che derivano da un mktime sicuraente)
 
ciao
non conosco joomlia, ma penso che usi la funzione php mktime, quindi guarda
http://it1.php.net/manual/en/function.mktime.php


allora ti basta
PHP:
$t="07";



grazie borgo dopo verifico, però sei che sei quel fantomatico controlloc he devo fare usando mktime

io riporto la mia data come vuole la funzione e poi è valida sempre l'espressione < e >

nel senso il valore mktime che resituisce la data odierna sarà maggiore al valore mktime della data di ieri?
 

Discussioni simili