- Home
- Categorie
- Coding e Sistemistica
- PHP
- data e ora? consigli
-
Ciao
Non mi pare di aver trovato nulla di strano a parte questo:
se commento questa stringa,
[php]
//if(date("Y-m-d",$time)==date("Y-m-d",time())){
[/php]
(quella scritta da te),
mi ritorna i risultati ma senza le date (data default 1970), ma a me pare sia tutto giusto...Idee?
Grazie
-
Prova a fare così:
[PHP]
<?php while ($row_test = mysql_fetch_assoc($test)) {
$time=strtotime($row_test['data']);
$timeora=time();
$data=date("dmY",$time);
$dataora=date("dmY",time());
//se abbiamo le variabili settate, usiamole!
if($data==$dataora){
[/PHP]
-
Allora,
facendo così:[PHP]
<?php
do {
//$time=strtotime($row_test['data']);
$time=time($row_test['data']);
//if(date("dmY",strtotime($row_test['data']))==date("dmY",time())){
?>
<tr>
<td><?php echo $row_test['cognome']; ?></td>
<td><?php echo date("d-m-Y",$time); ?></td>
<td><?php echo date("H:i:m",$time); ?></td>
<?php if ($row_test['data1'] == "")
{
echo "<td>- - - - - -</td>";
}
else
{
echo "<td>".$row_test['data1']."</td>";
}
?></td>
<td><?php echo $row_test['ip']; ?></td>
<td><?php echo $row_test['host']; ?></td>
</tr>
<?php
}
} while ($row_test = mysql_fetch_assoc($test));
?>[/PHP]Magicamente funziona...
Questa me la devi proprio spiegare... (sempre se ti va...)
Il fatto di scrivere solo time($valorecampo), funziona mi rilascia il tutto in ordine e formattato, e non l'ho trovato da nessuna parte.Fammi sapere,
grazie ancora per la disponibilità.
-
E infatti ho detto una scempiaggine..., ovviamente mi prende il $valorecampo e lo trasforma in ora corrente, (to be stupid)....
-
Ciao linno,
attento che la funzione time non ha parametri, per cui dovrebbe restituirti sempre il timestamp corrente.
-
Infatti...
-
Il mio testare mira a prendere $valorecampo (timestamp) e visualizzare solo l'ora, ho provato anche con explode creando dei mostri....
-
La query così mi restituisce $valorecampo (timestamp), visualizza solo record data odierna
[PHP]SELECT * FROM orario WHERE extract(day from data) = extract(day from curdate()) ORDER BY data DESC[/PHP]
Per il resto continuo a studiare...
-
Stavo rispondendo quando mi sono accorto che c'era una pagina in più!!
infatti avevo scritto:time(void) serve per ottenere il timestamp di quel momento.
Così come hai fatto non hai filtri di alcun tipo, quindi ti farà vedere tutti i dati indistintamente.Quindi, riattaccandomi ai discorsi precedenti, evita di formattare da query.
Meglio lavorare i dati estratti.Per prendere il timestamp(se ricordo bene hai data sotto forma di timestamp) ti basta un date("H",$time); basta.
Prova a fare un echo e lo vedi da solo.
$time lo prendi dalla data che hai nel db:
[PHP]$time=$row_test['data'];
echo $time; //così stampa il timestamp estratto
echo $data("H",$time); //così ti stampa l'ora[/PHP]Ma funzionava tutto così bene... non puoi aggiornare il server?
-
Ciao
$time=$row_test['data'];
echo $time; // rilascia 20100311075050 quindi 11-03-2010 07:50:50 così dovrebbe essere formattata
echo $data("H",$time); //qui non rilascia nullaMi sto deprimendo...
-
Dovresti fare:
[php]
echo date("H",$time);
[/php]
-
Errore di battitura mio...
date("H",$time);Thedarkita se n'è accorto
Comunque controlla sempre il codice. Di errori ce ne possono essere anche in script che trovi già fatti nel web.
Per quanto possa saperne dell'argomento, come in questo caso, posso fare errori anch'io, anche se solo di battitura.
Il potere sta nell'imparare da quel che si ottiene.
In questo caso ti ho scritto più volte quella formula ma lavorando sulle date in un sito per un cliente mi sono confuso (mai fare troppe cose insieme!).
Fai tua ogni riga, ogni funzione, così imparerai davvero