Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Calcular promedio de columna

Estas en el tema de Calcular promedio de columna en el foro de PHP en Foros del Web. Por favor, muéstranos el resultado de esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original include_once 'conexion.php' ; $consulta = mysql_query ( "SELECT rafaga FROM user" ) ...

  #31 (permalink)  
Antiguo 01/07/2014, 22:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Calcular promedio de columna

Por favor, muéstranos el resultado de esto:

Código PHP:
Ver original
  1. include_once 'conexion.php';
  2. $consulta = mysql_query("SELECT rafaga FROM user");
  3. if (mysql_num_rows($consulta)){    
  4.     while ($row = mysql_fetch_array($consulta))
  5.         $array[] = $row['rafaga'];
  6.  
  7.     echo '<pre>';
  8.     print_r($array);
  9.     echo '</pre>';
  10. }
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #32 (permalink)  
Antiguo 01/07/2014, 22:25
 
Fecha de Ingreso: agosto-2013
Mensajes: 41
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Calcular promedio de columna

Hasta ahí, esta bien, me imprime los valores del campo RAFAGA.


Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT rafaga FROM user");
  2. if (mysql_num_rows($consulta)){    
  3.     while ($row = mysql_fetch_array($consulta))
  4.         $array[] = $row['rafaga'];
  5.  
  6.     echo '<pre>';
  7.     print_r($array);
  8.     echo '</pre>';
  9. }

Digamos que quiero hacer el calculo de esta manera:

Código PHP:
Ver original
  1. $suma = (($array[0] + $array[1]) + $array[0]) / $total ;
  2.         print_r($suma);

Pero como lo haria de manera dinamica?
  #33 (permalink)  
Antiguo 01/07/2014, 22:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Calcular promedio de columna

De la forma que te expliqué anteriormente debe de funcionar, incluso lo he probado y marcha perfecto. Necesito saber qué imprime el código que te acabo de dar en el comentario anterior, porque si sigue formándose y array bidimensional, no se va a poder realizar la suma.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #34 (permalink)  
Antiguo 01/07/2014, 22:32
 
Fecha de Ingreso: agosto-2013
Mensajes: 41
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Calcular promedio de columna

Cita:
Iniciado por Alexis88 Ver Mensaje
De la forma que te expliqué anteriormente debe de funcionar, incluso lo he probado y marcha perfecto. Necesito saber qué imprime el código que te acabo de dar en el comentario anterior, porque si sigue formándose y array bidimensional, no se va a poder realizar la suma.

Saludos
Disculpa no puse el resultado.

Código PHP:
Ver original
  1. (
  2.     [0] => 24
  3.     [1] => 3
  4.     [2] => 3
  5. )

Esto es lo que me imprime. Imprime los valores del campo RAFAGA.
  #35 (permalink)  
Antiguo 01/07/2014, 22:33
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 7 meses
Puntos: 320
Respuesta: Calcular promedio de columna

Cita:
si reemplazo la linea 12 por la 13 me sale un error
Código PHP:
Ver original
  1. //    $suma = array_sum(array_chunk($array, $total - 1)[0]) + $array[0];
  2.     $suma = array_sum(array_chunk($array, $total - 1 )) + $array[0];

¿Que version de php usas? la primer linea produce un error de sintaxis en versiones de php < 5.4 ya que el acceso a modo de array a resultados de funciones no es soportado.

Puedes arreglarlo separando en dos lineas con una variable auxiliar:
Código PHP:
Ver original
  1. $aux = array_chunk($array, $total - 1);
  2. $suma = array_sum($aux[0]) + $array[0];
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #36 (permalink)  
Antiguo 01/07/2014, 22:37
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Calcular promedio de columna

Lo más probable es que suceda lo que acertadamente menciona NSD. Hazlo del modo en que te lo indica o actualiza tu versión de PHP.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #37 (permalink)  
Antiguo 01/07/2014, 22:38
 
Fecha de Ingreso: agosto-2013
Mensajes: 41
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Calcular promedio de columna

Cita:
Iniciado por NSD Ver Mensaje
Código PHP:
Ver original
  1. //    $suma = array_sum(array_chunk($array, $total - 1)[0]) + $array[0];
  2.     $suma = array_sum(array_chunk($array, $total - 1 )) + $array[0];

¿Que version de php usas? la primer linea produce un error de sintaxis en versiones de php < 5.4 ya que el acceso a modo de array a resultados de funciones no es soportado.

Puedes arreglarlo separando en dos lineas con una variable auxiliar:
Código PHP:
Ver original
  1. $aux = array_chunk($array, $total - 1);
  2. $suma = array_sum($aux[0]) + $array[0];
Hey gracias, la verdad si, era por la version de mi PHP, MUCHAS GRACIAS.
  #38 (permalink)  
Antiguo 01/07/2014, 22:39
 
Fecha de Ingreso: agosto-2013
Mensajes: 41
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Calcular promedio de columna

Cita:
Iniciado por Alexis88 Ver Mensaje
Lo más probable es que suceda lo que acertadamente menciona NSD. Hazlo del modo en que te lo indica o actualiza tu versión de PHP.

Saludos
Si era eso, MUCHAS GRACIAS POR TU AYUDA, Y POR LA PACIENCIA.
GRACIAS.

Etiquetas: calcular, columna, mysql, promedio
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 06:05.