Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/01/2014, 13:00
Avatar de javier0730
javier0730
 
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 82
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Sumar campos time con php

Buenas tardes.

Encontre un código que puede serme de utilidad pero no puedo hacer que me funcione con PHP.

Consiste en almacenar en una tabla de MySQL los registros de las materias con sus respectivos horarios de inicio y fin para cada dia de la semana. Posteriormente hacer el calculo de las horas desde PHP y que actualice la tabla de de base de datos.

Este es el código:
Código SQL:
Ver original
  1. SELECT SEC_TO_TIME(SUM(time_to_sec(lunes_t-lunes_i))) AS horas,lunes_t,lunes_i FROM materias WHERE materia = "Matematicas";

La tabla se llama materias y contiene los campos siguientes:
id_materia
nombre
lunes_i = almacena la hora en la que inicia la clase los lunes
lunes_t = almacena la hora en la que termina la clase los lunes
... aqui el resto de las variables para los demas días.
total_horas = almacenará el total de horas de cada día

Si ejecuto esto directamente como una consulta SQL a la base de datos funciona perfectamente. Pero no puedo hacer que me funcione desde el PHP, estoy intentando con esto:

Código PHP:
Ver original
  1. include("conexion.php");
  2. $c_mat = mysql_query("SELECT SEC_TO_TIME(sum(time_to_sec(lunes_t-lunes_i))) as hora,lunes_t,lunes_i from materias WHERE id_materia = '$idmateria'", $link);
  3. $r_mat = mysql_fetch_array($c_mat);

En la consulta SQL pueden ver que estoy aplicandolo a la materia Matemáticas porque es una busqueda directa en la base de datos pero en el PHP yo estoy almacenando en una variable el Id de la maeria, lo que en teoría esta bien porque si doy una impresión de la variable $idmateria si tiene el dato correspondiente.

Ahora bien, se supone que se esta guardando el resultado de la consulta en la variable hora pero si la imprimo con un echo veo que no tiene nada.

Alguén sabe en que me estoy equivocando para almacenar en una variable lo que genera la consulta.

Espero alguna ayuda.
Gracias.