ciao ragazzi, ho uno strano problema con UPDATE: ho un db popolato e ho bisogno di cambiare i valori di un campo in ogni record della tabella (il campo è ore_tot che sarebbe il calcolo del campo 4 e del campo6 che ritorna un periodo di tempo: es 4:32:00). Il fatto è che l'operazione fra i campi funziona correttamente (ritorna il valore corretto per ogni record) ma nel momento in cui faccio l'UPDATE questo valore non è piu lo stesso (ma torna ad esserlo anche dopo l'UPDATE
VVoVe: ). Il valore che mi vien inserito all'interno del db è una cosa apparentemente senza senso (sempre un orario però) uguale per tutti i record che hanno in comunune il campo 1 (operaio) quindi nel db risulta una cosa del tipo
id, simone, ..., ..., 12:00:00, ..., 15:00:00, ..., 00:14:00;
id, simone, ..., ..., 15:00:00, ..., 16:00:00, ..., 00:14:00;
id, paolo, ..., ..., 12:00:00, ..., 15:00:00, ..., 00:16:15;
id, paolo, ..., ..., 10:00:00, ..., 15:00:00, ..., 00:16:15;
come potete vedere l'ultimo campo è uguale raggruppato per operaio... mentre dovrebbe essere nell'ordine 03:00:00, 01:00:00, 03:00:00, 05:00:00
Dove sbaglio? Aiuto, sto impazzendo!
codice:
<?php
session_start();
require("config.php");
require_once 'header.php';
require ("functions.php");
$ricerca = "SELECT * FROM operazioni";
$risultato_ricerca = mysql_query($ricerca) or die(mysql_error());
WHILE ($risultato_ricerca_row = mysql_fetch_row($risultato_ricerca)){
$h1 = $risultato_ricerca_row[4];
$h2 = $risultato_ricerca_row[6];
list($ore1, $minuti1) = explode(":", $h1);
list($ore2, $minuti2) = explode(":", $h2);
$ts1 = mktime($ore1, $minuti1, 0,1,1,1970,0);
$ts2 = mktime($ore2, $minuti2, 0,1,1,1980,1);
$result = date('H:i', ($ts2-$ts1));
echo $result;
$modifica = "UPDATE operazioni
SET ore_tot='$result' WHERE operaio = '$risultato_ricerca_row[1]'";
mysql_query($modifica) or die(mysql_error());
echo $result;
}
?>