Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problemas con consulta y resultado en array

Estas en el tema de Problemas con consulta y resultado en array en el foro de Mysql en Foros del Web. Hola Amigos, primero que nada gracias de antemano al que pueda darme una mano con esto. El caso es que estoy tratando de realizar una ...
  #1 (permalink)  
Antiguo 30/07/2007, 05:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 17 años, 2 meses
Puntos: 0
De acuerdo Problemas con consulta y resultado en array

Hola Amigos, primero que nada gracias de antemano al que pueda darme una mano con esto.

El caso es que estoy tratando de realizar una consulta a la base de datos mysql, el problema es que aunque realizo la consulta, el resultado lo que hace es repetir siempre el primer registro, tantas veces como datos habian, es decir que si en la tabla habian 15 registros con determinada condicion, lo que hace es repetir el primer campo 15 veces, lo que me hace pensar que los demás registros no los esta leyendo.

El codigo que utilizo es el siguiente:

<?
$sql = "select HOUR(tiempoh) from empleados where fecha2 like '%".$fechita1."%' and nombre like '%".$busqueda."%' ";
$ra = mysql_query($sql);
$g = mysql_fetch_row($ra);
$horas = $g[0];


mysql_free_result($ra);

echo '<strong>'.$horas.'</strong>';

?>

Lo que busco es separar la hora de los minutos y segundos de un campo para poder operar con este.

Por ejemplo el primero de los campos es 4:59:10 y el segundo es 5:10:40, y cuando uso el codigo de arriba me muestra todos con 4, es decir solo utiliza el primero, y en base a este escribe los demas, tantas veces como registros hay en la condicion...



Estimados Amigos gracias de antemano nuevamente al que me pueda dar un poco de luz en este caso, ya he intentado de todo y no lo logro, hasta habia pensado en crear en la misma tabla tres campos de nombre horas,minutos y segundos y que estos se actualizaran automaticamente con los datos obtenidos de la misma tabla en torno a la hora completa contenida en tiempoh, para yo luego poder manejarlos sin problema...


Un Saludo y Gracias...
  #2 (permalink)  
Antiguo 30/07/2007, 07:12
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 9 meses
Puntos: 12
Re: Problemas con consulta y resultado en array

No creo que debas emplear LIKE en un campo fecha, es para campos tipo cadena. Igual te viene de ahí el fallo. La verdad es que no comprendo por qué lo usas. La fecha es igual, mayor o menor que otra, o está entre dos fechas; pero una fecha 'parecida' a otra... no sé, no lo comprendo.

Saludos!
  #3 (permalink)  
Antiguo 30/07/2007, 08:07
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problemas con consulta y resultado en array

es que fecha2 es un texto por ejemplo Julio, y es eso lo que comparo, no es un numero, por eso utilizo LIKE, pero si me equivoco corrigeme, de todas formas he sustituido por probar el LIKE por = y no me da ningun resultado..

Bueno para explicarme un poco mejor lo que he querido hacer desde hace unos dias es lo siguiente

Fecha ::: Llamadas Recibidas ::::: Duracion LLamada :::: Promedio

Julio 1:::::::::::::::::::26:::::::::::::::::::::::04:56 :15:::::::::::::::::11,38
Julio 2:::::::::::::::::::19:::::::::::::::::::::::05:14 :33:::::::::::::::::16,52

Y asi sucesivamente.

Ahora me esta pasando esto


Fecha ::: Llamadas Recibidas ::::: Duracion LLamada :::: Promedio

Julio 1:::::::::::::::::::26:::::::::::::::::::::::04:56 :15:::::::::::::::::11,38
Julio 2:::::::::::::::::::19:::::::::::::::::::::::05:14 :33:::::::::::::::::13,36


Pero simplemente lo que busco es esta operacion, como puedes ver para obtener el promedio tengo que separar las horas multiplicarla por 60, luego sumarle los minutos separados, para obtener el resultado solo en minutos y por ultimo dividirla entre las llamadas recividas para obtener el promedio de duracion de llamadas...

si te fijas el segundo registro no se calcula correctamente, porque en el calculo toma como hora el numero 4, que es el del primer campo y no 5 que deberia ser el que toma, y asi esta pasando con todos los calculo, ya que toma como hora para el calculo la hora separada del primer registro, es decir 4 para todos...

Un gran saludo


Y gracias por molestarte en escribir....si sabes de alguna manera te lo agradecere...
  #4 (permalink)  
Antiguo 30/07/2007, 08:23
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 9 meses
Puntos: 12
Re: Problemas con consulta y resultado en array

En ese caso, y suponiendo que el campo 'Duracion Llamada' es de tipo 'time', con la función nativa de mysql TIME_TO_SEC, tranformas dicha hora en segundos.

SELECT @s:=TIME_TO_SEC(duracion) AS segundos,(@s/recibidas)/60 AS promedio;

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:38.