Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/08/2012, 10:55
luinix
 
Fecha de Ingreso: agosto-2012
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Resta con variables tipo time no inserta resultados desde php a mysql

hola creo entender tu problema y es en la sintaxis de mysql

Cita:
function insert_time($position,$num){
$conexion=mysql_connect("servidor","usuario","pass word") or die("MySql Error");
mysql_select_db("DB",$conexion) or die("database selection error");
//Buscamos el campo que registra el tiempo de inicio
$largada=mysql_query('SELECT * FROM tabla1 WHERE pos="1"');
$lar=mysql_fetch_array($largada);
$tin=$lar["tiempo"];//Este es el tiempo de inicio
$row=mysql_query('SELECT * FROM tabla1 WHERE pos=$position');
$tpar=mysql_fetch_array($row);
$pos=$tpar["tiempo"];//Este es el tiempo del participante
$timedif=SUBTIME($pos,$tin);//Esto determina el tiempo que emplea
mysql_query('UPDATE tabla2 SET tc=$timedif WHERE num=$num');
si te fijas en tus consultas

$row=mysql_query('SELECT * FROM tabla1 WHERE pos=$position');

y

mysql_query('UPDATE tabla2 SET tc=$timedif WHERE num=$num');

estas usando la sinataxys de STring con comilla simple ' ' eso toma lo que sea que tengas como un string puro de esa manera el php nunca traduce tus variables $position y $num pudieras cambiar simplemente a comillas simples pero te recomiendo la sintaxis de concatenacion


Cita:
function insert_time($position,$num){
$conexion=mysql_connect("servidor","usuario","pass word") or die("MySql Error");
mysql_select_db("DB",$conexion) or die("database selection error");
//Buscamos el campo que registra el tiempo de inicio
$largada=mysql_query('SELECT * FROM tabla1 WHERE pos="1"');
$lar=mysql_fetch_array($largada);
$tin=$lar["tiempo"];//Este es el tiempo de inicio
$row=mysql_query('SELECT * FROM tabla1 WHERE pos='.$position.'');
$tpar=mysql_fetch_array($row);
$pos=$tpar["tiempo"];//Este es el tiempo del participante
$timedif=SUBTIME($pos,$tin);//Esto determina el tiempo que emplea
mysql_query('UPDATE tabla2 SET tc=$timedif WHERE num='.$num.'');
nota:
no se si ese codigo lo ejecutes todo en el metodo insert_time() pero si es asi te recomiendo sacar la conexion de la BD de ahi y separar las consultas de esa manera tienes mas limpio tu codigo y es ams facil depurarlo

saludos y espero certe de ayuda, si no es asi aqui segire para ayudarte
animo ;)