Newsgroup: it.comp.www.php
Titolo: convertire una data

ho un problema banale, convertire una data da (d-m-y) a (m-d-y), è una cosa 
stupida ma non riesco a convertire la data per inserirla poi in una query.
mi spiego meglio, nel db ho una serie di date in (m-d-y), mentre ho un form 
dove c'è la possibilita di inserire una data per una ricerca, in un primo 
tempo è stato dato la possibilità di inserire la data in (m-d--y), e qdi no 
probelm con il db. adesso pero si vuole dare la possibilità di inserirla in 
(d-m-y)...
nello script per recuperare e testare la data inserita, uso
if(isset($_POST['data'])) $_POST['data'] = trim($_POST['data']);
else $_POST['data'] = '';
poi il Post_['data'] inserita per la query
 se la data è stata inserita in d-m-y bisognerebbe convertirla in  m-d-y 
prima di passarla nella query come devo scrivere la conversione?
-- 
André Ebongué
Via Milani 130
40014 Crevalcore ( BO)

 ha scritto nel messaggio 
news:IH_Dd.659013$35.26...@news4.tin.it...


 ($_post['data']);?
dicevo che era stupido...ho risolto:
$date1=date("d/m/y", strtotime( $date['data']));}
echo "$date1"; 

dovrei recuperare una serie di date in formato (y-m-d) in un db da echo nel 
formato d-m-y
quando recupero una sola data riesco a convertirla ed echo senza problemi:
$row_data= date("d/m/y", strtotime($row['data'])));
echo "$row_data";
pero se devo recuperare una serie di date con una query del tipo:
$query = "SELECT data FROM initiative ";
$result=mysql_query($query) or die (mysql_error());
while ($row= mysql_fetch_array($result))
come devo formulare la conversione di date per tutte quelle estratte?
mi spiego usando questa query:
while ($row= mysql_fetch_array($result))
($row_data= date("d/m/y", strtotime($row['data'])));
echo "$row_data";
mi mostra solo l'ultima data (converita), dove sbaglio? 

André Ebongué wrote:


$result = mysql_query($query) or die (mysql_error());
while($row = mysql_fetch_array($result)){
 echo $row_data = date("d/m/y", strtotime($row['data']);
}
o meglio..
$result = mysql_query('SELECT date_format(data, '%d/%m/%Y') as data FROM
initiative') or die (mysql_error());
while($row = mysql_fetch_assoc($result))
 echo $row['data'];
-- 
www.iuz-lab.info

 
www.iuz-lab.info
Grazie ancora te a salvarmi!


 cosa non andava dal punto di vista concettuale nella mia query (per 
capire..)?

nello script sotto mi considera la variabile non definita
EOF;
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result) > 0){
 while($row = mysql_fetch_assoc($result)){
echo <<< EOF
<tr bgcolor='white' valign='top'>
 <td width='100'>{$row['luogo']}</td>
 <td width='100'>{$row['natura']}</td>
 <td>{$row_data [ date("d/m/y", strtotime($row['data']))]}</td>
 <td>echo </td>
 <td>{$row['descrizione']}</td>
</tr>
EOF;
 }
}
sapendo che piů in alto avevo una query del tipo $query=select* from 
initiative;
mi da questo errore:
 Notice: Undefined variable: row_data in 
c:\programmi\easyphp1-7\www\farafina\tmp4iaiaa2b7i.php on line 189

 c:\programmi\easyphp1-7\www\farafina\tmp4iaiaa2b7i.php on line 189
non puoi richiamare una funzione all'interno di 
echo <<< EOF
EOF;
devi formattare la variabile prima e comunque la variabile e' $row['data'] e
non $row_data, quindi..
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result) > 0){
 while($row = mysql_fetch_assoc($result)){
 $row['data'] = date("d/m/y", strtotime($row['data']));
echo <<< EOF
<tr bgcolor='white' valign='top'>
 <td width='100'>{$row['luogo']}</td>
 <td width='100'>{$row['natura']}</td>
 <td>{$row['data']}</td>
 <td>echo </td>
 <td>{$row['descrizione']}</td>
</tr>
EOF;
 }
}
-- 
www.iuz-lab.info

grazie mille, funzia che č una meraviglia ...adesso se volessi invece 
recuperare l'operazione inversa ossia recuperare la data nel nostro formato 
da girare in quello americano faccio cosi ( in caso im cui uno la inserisce 
communque nel formato europeo)?
if($_POST['data'] != ''){
 $_POST['data'] = mysql_escape_string($_POST['data']);
$data=date("y/m/"d, strtotime($_POST['data']));..
poi inserisco $data nella query č corretto come approcio?