[PHP]

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Salve sono di nuovo qua a chiedere aiuto, ho una query che seleziona i dati del mese, mette i giorni uno di seguito all'altro, ora mi chiedevo se fosse possibile separare i mesi con uno spazio es.:
01 giugno 2018
02 giugno 2018
...
30 giugno 2018

01 luglio 2018
02 luglio 2018
...
questo è il codice utilizzato:
PHP:
<?php
echo "<span style=\"color:blue height:1;width:1; background-color:white\">
    &nbsp;&nbsp;&nbsp;
    <b><i><span style=\"color:white; font-size: 12pt\"><span style=\"color:red height:1;width:1; background-color:green\">&nbsp;Elenco completo delle temperature rilevate...&nbsp;</b></span>";           

$cats = @mysql_query('SELECT id, data, mese, anno, localita, temperatura, umidita, pressione, luminosita, neve, rugiada FROM tbltemperature ORDER BY mese ASC, anno ASC');
if (!$cats) {
exit('Errore nel reperire informazioni dal database!' . 'Error: ' . mysql_error() . '</p>');
}
$limite=31;
$cont=0;
echo "<table border=\"1\" cellspacing=\"8\" cellpadding=\"0\">";
echo "<tr>";
while ($list = mysql_fetch_array($cats))
{
$id = $list['id'];
$data = htmlspecialchars($list['data']); 
if ($cont==$limite)
{
echo "</td>";
$cont=0;
}
if ($cont==0)
{
echo "<td valign=\"top\">";
}
echo '&nbsp;';
?>

<a class='balloon' <?php echo 'style="text-decoration:none"<a href="Edit_Temperature.php?id='.$list['id'].'" message="Visualizza i dati">'.$list['localita']. ' '. $list ['mese'] . "   ".$list['anno']. "&nbsp;&nbsp;" .$list['data'].'</a>';
echo '&nbsp;<br>';
$cont++;
}
if ($cont > 0)
echo "</td>";
else
echo "<td></td>";
echo "</tr>";
echo "</table>";
?>
Grazie per l'aiuto
Max61
 
Ciao Macus_adi grazie per la risposta, ma non capisco cosa mi stai suggerendo...mi puoi fare un esempio?
Grazie
 
Codice:
$cats = @mysql_query('SELECT id,data,  MONTHNAME(DATE(data)) as mese_date, mese, anno, localita, temperatura, umidita, pressione, luminosita, neve, rugiada FROM tbltemperature ORDER BY mese ASC, anno ASC');

Sarebbe meglio però capire la natura dei dati !
 
Infatti, ho provato e non funziona come vorrei il campo $data è così:
es.:20-06-2018 10:00:25
forse è per questo che non funziona?
 
Sembra strano.... Immagino sia un campo CHAR o VARCHAR e non DATETIME giusto?
In questo caso devi convertire in data.....

In alternativa potresti con php provare a fare una cosa del genere..
PHP:
date('d l Y',strtotime($variabile));
Brutta che è brutta, ma funziona!
 
Si è un campo VARCHAR, ho fatto così: $data = date('d l Y',strtotime($data));
PHP:
$cats = @mysql_query('SELECT id, data, MONTHNAME(DATE(data)) as mese_date, mese, anno, localita, temperatura, umidita, pressione, luminosita, neve, rugiada FROM tbltemperature ORDER BY data');

$data = date('d l Y',strtotime($data));

if (!$cats) {
exit('Errore nel reperire informazioni dal database!' . 'Error: ' . mysql_error() . '</p>');
}
$limite=31;
$cont=0;
echo "<table border=\"1\" cellspacing=\"8\" cellpadding=\"0\">";
echo "<tr>";
while ($list = mysql_fetch_array($cats))
{
$id = $list['id'];
$data = htmlspecialchars($list['data']); 
if ($cont==$limite)
{
echo "</td>";
$cont=0;
}
if ($cont==0)
{
echo "<td valign=\"top\">";
}
echo '&nbsp;';
?>

<a class='balloon' <?php echo 'style="text-decoration:none"<a href="Edit_Temperature.php?id='.$list['id'].'" message="Visualizza i dati del '.$list['data']. '">'.$list['localita']. ' '. $list ['mese'] . "   ".$list['anno']. "&nbsp;&nbsp;" .$list['data'].'</a>';
echo '&nbsp;<br>';
$cont++;
}
if ($cont > 0)
echo "</td>";
else
echo "<td></td>";
echo "</tr>";
echo "</table>";
mi da errore:Notice: Undefined variable: data in C:\xampp\htdocs\temperature\views\TemperatureAll.php on line 84
dove sbaglio?
 
Faccio una select
PHP:
$cats = @mysql_query('SELECT id, data, MONTHNAME(DATE(data)) as mese_date, mese, anno, localita, temperatura, umidita, pressione, luminosita, neve, rugiada FROM tbltemperature ORDER BY data');
 
Grazie...ma restituisce 01 Thursday 1970
invece sono 14 record: 01-06-2018 08:30:00 e ore successive
e 1 record: 01-07-2018 08:30:00
 
Intanto ti chiedo scusa in quanto era il parametro F e non l....
PHP:
$data='01-07-2018 08:30:00';
echo date('d F Y',strtotime($data));
la data me la da in inglese come giusto che sia... devi adattare il tuo timezone e la lingua... in alternativa fai l'array con i nomi dei mesi!
 

Discussioni simili