Foros del Web » Programando para Internet » PHP »

Calculo de porcentaje

Estas en el tema de Calculo de porcentaje en el foro de PHP en Foros del Web. Buenas Necesito saber como sacar porcentaje con php, en realidad tengo un valor total y pero la otra cantidad no, es decir por ejemplo Yes: ...
  #1 (permalink)  
Antiguo 04/08/2009, 18:04
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Calculo de porcentaje

Buenas

Necesito saber como sacar porcentaje con php, en realidad tengo un valor total y pero la otra cantidad no, es decir por ejemplo

Yes: 5
No: 4

tengo que mostrar esos nros en porcentaje, el tema es que en Yes no tengo aun el valor de No, como podria hacer para sacar antes que valor tiene cada fila?, no se si me explico.

Cualquier cosa me explico mejor, pero es eso, de que manera sacar los valores y guardarlos en una variable, la fila en la db se llama rate y tiene los campos Yes y No con esos valores.

Gracias.
  #2 (permalink)  
Antiguo 04/08/2009, 18:29
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Calculo de porcentaje

Yo creo que no te entendi bien pero bueno xD, te digo algo asi en plan matematico a ver si te sirve:

PorcentajeYes = 100 / (Yes+No) * Yes
PorcentajeNo = 100 / (Yes+No) * No


Como ves para sacar un valor porcentual, dividimos 100 entre las partes en total y multiplicamos por la que queremos sacar el %. Yo esto lo uso muchisimo en mi juego php.
  #3 (permalink)  
Antiguo 05/08/2009, 11:00
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Calculo de porcentaje

Te agradezco, lo hice pero me da cualquier numero, tambien probe de esta manera pero me da cualquier cosa,

$porcv = $total * 100 / ($totnor+$totpoor+$totgood);

tengo 4 datos en esta tabla, very good, good, normal, poor, trato de sacar el porncetaje de very good por eso hice porcv el total es la cantidad que tiene very good, lo multiplique por 100 y dividi por la suma del resto, esta bien? jaja, ya me estoy mareando.

me da esto 47.3684210526% jajaja
  #4 (permalink)  
Antiguo 05/08/2009, 11:12
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 10 meses
Puntos: 36
Respuesta: Calculo de porcentaje

$porcv = $totalverygood * 100 / ($totnor+$totpoor+$totgood+$totalverygood);
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #5 (permalink)  
Antiguo 05/08/2009, 11:32
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Calculo de porcentaje

buenisimo, quedo de 10, lo unico, porque aveces me muestra este error?

Warning: Division by zero in C:\AppServ\www\filtro_rate.php on line 162

a que se debe? y por ahi los resultados en

66.6666666667%
  #6 (permalink)  
Antiguo 05/08/2009, 11:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Calculo de porcentaje

Imagino que se debe a que la suma ($totnor+$totpoor+$totgood+$totalverygood) te está dando 0. Comprueba antes de hacer el cálculo, que no sea 0, y si lo es, directamente $porcv es 0.
  #7 (permalink)  
Antiguo 05/08/2009, 11:45
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 10 meses
Puntos: 36
Respuesta: Calculo de porcentaje

Para redondear el numero usa

round($porcv, 2);

El 2 significa que tengas dos decimales
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #8 (permalink)  
Antiguo 05/08/2009, 12:23
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Calculo de porcentaje

Cita:
Iniciado por hgp147 Ver Mensaje
Para redondear el numero usa

round($porcv, 2);

El 2 significa que tengas dos decimales

Buenisimo como quedo todooooo, perfecto!!! y podria usar esas barritas de porcentaje dibujadas? es mucho lio? algun ejemplo?
  #9 (permalink)  
Antiguo 05/08/2009, 12:43
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Calculo de porcentaje

Bueno, pues en el echo donde colocas el porcentaje pones "%"

O el codigo HTML que sea para que salga esa cosa.

No se si querias decir eso, es lo que entendi :S
__________________
SumarioWeb
@sumarioweb
BasicNews
  #10 (permalink)  
Antiguo 05/08/2009, 12:50
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Calculo de porcentaje

Cita:
Iniciado por fcdragons Ver Mensaje
Bueno, pues en el echo donde colocas el porcentaje pones "%"

O el codigo HTML que sea para que salga esa cosa.

No se si querias decir eso, es lo que entendi :S
ya pude hacer todo bien gracias a la ayuda, a lo que me refiero es si hay alguna manera de mostrarlo en barras como aca: http://www.dxpro.es/index.php?topic=234.0

usando la manera que vengo haciendo....
  #11 (permalink)  
Antiguo 05/08/2009, 13:00
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Calculo de porcentaje

Mira el codigo como se hace e intenta implementarselo al tuyo. Por ejemplo, coge las variables, y las muestras en tu codigo. Algo asi.
__________________
SumarioWeb
@sumarioweb
BasicNews
  #12 (permalink)  
Antiguo 05/08/2009, 13:16
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Calculo de porcentaje

a ver si voy entendiendo en el ejemplo tengo

Código PHP:
$datosTabla = array(
   array( 
"directas"160"#BDDA4C"),
   array( 
"google"220"#FF9A68"),
   array( 
"bloglines"80"#69ABBF"),
   array( 
"del.icio.us"10"#FFDE68"),
   array( 
"yahoo"35"#AB6487")
   );
   
$maximo 0;
   foreach ( 
$datosTabla as $ElemArray ) { $maximo += $ElemArray[1]; } 
yo pense en hacerlo

Código PHP:
$datosTabla = array(
   array( 
"porcvery""$porcv ""#BDDA4C"),
   );
   
$maximo 0;
   foreach ( 
$datosTabla as $ElemArray ) { $maximo += $ElemArray[1]; } 
No se si voy bien y luego

Código PHP:
$porcv round((( $ElemArray[porcvery] / ($totnor+$totpoor+$totgood+$totalverygood)) * 100),2); 
ahi saca el porcentaje, usando el que tengo yo...seria

yyy mostrando

Código PHP:
<table width="<? echo($porcv?>%" bgcolor="<? echo($ElemArray[2]) ?>">
No se si esta bien asi...como entendi yo, no me muestra nada...sigue mostrando el porcentaje comun, que hago mal?, gracias!!
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 22:05.