[PHP] Convertire data SQL da d/m/Y in Y/m/d

Postato il 23 agosto 2012

Se avete salvato in un database delle date in formato "d/m/Y" e per una qualunque necessità, doveste trasformare la data in formato "Y/m/d", basta una semplice algoritmo che automizzi il tutto: prendi la data dal campo SQL, controlli se è effettivamente in quel formato (per evitare casini), la converti e aggiorni il campo.

$query = mysql_query("SELECT * FROM mlist WHERE data != ''");
$num = mysql_num_rows($query);
if ($num) {
 for ($i = 0; $i < $num; $i++) {
  $id = mysql_result($query, $i, "id");
  $data = mysql_result($query, $i, "data");

  if (substr($data, 2, 1) == "/") {
   $giorno = substr($data, 0, 2);
   $mese = substr($data, 3, 2);
   $anno = substr($data, 6, 4);
   $data = "$anno/$mese/$giorno";
   $data_changed = true;
  } else {
   $data_changed = false;
  }
  
  if ($data_changed == true) {
   $query_upd = mysql_query("UPDATE mlist SET data = '$data' WHERE id = '$id'");
  }
  
 }
}