Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/08/2012, 00:51
Avatar de boggiepopphantom
boggiepopphantom
 
Fecha de Ingreso: agosto-2012
Mensajes: 29
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Resta con variables tipo time no inserta resultados desde php a mysql

Cita:
Iniciado por luinix Ver Mensaje
hola creo entender tu problema y es en la sintaxis de mysql



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




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 ;)

Hola luinix, gracias por tu pronta respuesta; hice los siguientes cambios al código, pero no me resulta lo que necesito; el asunto, como comentaba en la respuesta de carlos_belisario, es que no me bota error; ingreso los datos en la variable position y numpart en el formulario, pero nada, no hace nada, ni envía error, ni nada.

La idea es que en la primera tabla, llamada position, se guardan los tiempo, luego trato de restar los tiempos con el tiempo "1" en la función insert_time, y esa resta guardarla en una segunda tabla, llamada racers, en el campo correspondiente al participante con el número que yo indique en la variable numpart. Los cambios quedaron como:

Código PHP:
$position=$_POST['position'];
$numpart=$_POST['numpart'];
$conexion=mysql_connect("localhost","root") or die("MySql Error"); 
mysql_select_db("ranking",$conexion) or die("database selection error"); 
function 
send_time(){
mysql_query('insert into position (pos,tiempo) values (NULL,curtime())') or die(mysql_error());
}
function 
insert_time($position,$numpart){
//Buscamos el campo que registra el tiempo de largada de carrera
$largada=mysql_query('SELECT * FROM position WHERE pos=="1"') or die("Largada");
$lar=mysql_fetch_array($largada);
$tin=$lar["tiempo"];//Este es el tiempo de inicio de la carrera
$row=mysql_query('SELECT * FROM position WHERE pos='.$position.'') or die("row");
$tpar=mysql_fetch_array($row);
$pos=$tpar["tiempo"];//Este es el tiempo del participante
$timedif=$pos-$tin;//Esto determina el tiempo que emplea
mysql_query('UPDATE racers SET tc='.$timedif.' WHERE numpart='.$numpart.'') or die("timedif"); 
¿Alguna sugerencia? Gracias a todos!

PD: ¿Me podrias recomendar un enlace para leer acerca de sintaxis de concatenación? Creo que no tengo muy claro el asunto, y no se si lo hice bien en las modificaciones. Si lo hice mal, por favor oriéntenme. De antemano gracias!