Comunidad de diseño web y desarrollo en internet online

Sumar varios resultados (PHP)

Citar            
MensajeEscrito el 08 Dic 2006 07:51 pm
Holas
Tengo el siguiente problema, en una tabla tengo datos asi:

Código :

------------------------------------------------------------------
id  | nombre                             |  votos    |  enc 
------------------------------------------------------------------
1   | Pedro                              |        6  |   20
2   | Jesus                              |        2  |   20
3   | Gerardo                            |        0  |   20
------------------------------------------------------------------

Y asi repetido varias veces con otros nombres y otros "enc", lo que necesito es sumar la cantidad de votos de todos los nombres de determinado "enc", y el problema es que pueden haber entre 1 y 10 nombres diferentes en cada "enc"

:?

Se entendió?

Por Ramm

BOFH

3152 de clabLevel

6 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell REC Héroes

London, UK

firefox
Citar            
MensajeEscrito el 08 Dic 2006 11:13 pm
hay varias formas de hacerlo:

1.- quizás la más elegante, hay una sentencia SQL que te devuelve los registros NO repetidos, pero no recuerdo cual, por ejemplo en a,b,a,c,d,b,b te devolvería a,b,c,d
Luego lo metes en un bucle y haces una llamada para cada registro diferente "SELECT voto FROM `table` WHERE `enc`=XX" y vas sumando los votos

2.- la más fácil
"SELECT votos,enc FROM `table` ORDER BY enc"
lo metemos en un bucle, vamos sumando los votos y detectando si "enc" cambia,
$last_enc = 0;
while($row=mysql_fetch_array(mysql_query("SELECT votos,enc FROM `table` ORDER BY enc"))) {
if($last_enc!=$row['enc']) {
$puntero++;
};
$un_array[$puntero] += $row['votos'];
};

algo así

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 08 Dic 2006 11:22 pm
Una opción puede ser:

Código :

select sum(enc) from tabla where enc = valor


más no entendi claramente si es lo que buscas hacer

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

msie
Citar            
MensajeEscrito el 09 Dic 2006 02:07 am
Sí, la forma óptima es como dice Reymond, la manera que lo hace ICEM4N es válido pero eso indica desconocimiento de sql. Ahora lo de Reymond tiene un pequeño detalle hay que utilizar alias para esas funciones así, para poder usar mysql_fetch_array de una manera más comoda. Ejemplo:

Código :

$sql =  SELECT SUM(enc) AS Total FROM `Tabla`;
$result = mysql_query($sql);
$row = mysql_fecth_array($result);

echo $row['Total'];


Porque sino usas alias tendrias que hacer

Código :

echo $row['SUM(enc)'];


saludos

PD: sorry por no atenderte en la mañana, creo que era eso lo que me querias preguntar.

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 09 Dic 2006 07:36 am
xDDD yp ya sé que desconozco SQL! xDDDDD
pero más tiempo para aprender cosas no tengo! jajajaja
De todas formas esto me lo apunto, siempre es bueno saber estas cosillas.

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 09 Dic 2006 05:01 pm
WOW
Gracias, ahorita no puedo probarlo pero el lunes estare en eso (Y)
^^

Por Ramm

BOFH

3152 de clabLevel

6 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell REC Héroes

London, UK

firefox
Citar            
MensajeEscrito el 09 Dic 2006 05:27 pm

Maikel escribió:


$row = mysql_fecth_array($result);

Maikel se equivocó, Maikel se equivocó :lol:
sería mysql_fetch_array
Y como va a ser un resultado unico tambien se podria usar el mysql_result()

Por Max

Claber

267 de clabLevel



Genero:Masculino  

Lima - Peru

firefox
Citar            
MensajeEscrito el 09 Dic 2006 10:46 pm
Escribe luego de dar clases por 3 horas, asistiendo a 3 reuniones de grupos a los que lidera en un proyecto, luego un taller y otra reunión general, todo de 2-10pm. Todo eso luego de varios dias con la misma agenda. Y me dices si puedes escribir bien mysql_fetch_array.

Lo de mysql_result, se puede usar pero para un mejor control y ofrecer un código más legible es preferible usar mysql_fetch_array
:wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 10 Dic 2006 04:28 pm

Max escribió:

Maikel escribió:


$row = mysql_fecth_array($result);

Maikel se equivocó, Maikel se equivocó :lol:

Juas! Eso sono como todo un niño diciendo a su maestro "se equivocó! se equivocó!!"

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 10 Dic 2006 07:38 pm
Maikel, creo que hay un malentendido, mi intencion en ningun momento fue la de tratar de enrostrarte un error tuyo, fue algo como lo que escribio Neo pero no tan exageradamente :roll: , puesto que entre todos a los que ayudas tambien estuve y estoy yo, como en la respuesta que me diste alguna vez que me saco de un embrollo.

Vi un error tipografico sin importancia alguna y quize recogerlo mostrando que hasta los grandes pueden equivorcarse, aunque sea en algo sin importancia como dije, si te causé alguna incomodidad pido mis disculpas y extiendo los brazos en señal de respeto :alabado:

PD1: Congrats por tener la agenda tan ocupada
PD2: Yo tambien odio a Neo JP ................... :lol:

Por Max

Claber

267 de clabLevel



Genero:Masculino  

Lima - Peru

firefox
Citar            
MensajeEscrito el 10 Dic 2006 07:42 pm
nah, don't worry be happy ^^

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 11 Dic 2006 12:44 pm
Yeah!!
Funciono perfect

Código :

"SELECT SUM(votos) AS Total FROM `respuestas` WHERE `idenc` = '$id'";

(Y) Thanks everybody

Por Ramm

BOFH

3152 de clabLevel

6 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell REC Héroes

London, UK

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.