Foros del Web » Programando para Internet » PHP »

Sumar campos con un mismo id

Estas en el tema de Sumar campos con un mismo id en el foro de PHP en Foros del Web. Hola tengo una duda, tengo esta tabla: Código: -- Estructura de tabla para la tabla `resmejor` -- CREATE TABLE IF NOT EXISTS `resmejor` ( `id` ...
  #1 (permalink)  
Antiguo 21/09/2011, 16:47
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Sumar campos con un mismo id

Hola tengo una duda, tengo esta tabla:

Código:
-- Estructura de tabla para la tabla `resmejor`
--

CREATE TABLE IF NOT EXISTS `resmejor` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `iduser` int(10) NOT NULL,
  `idequipo` int(10) NOT NULL,
  `tapuesta` int(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Volcar la base de datos para la tabla `resmejor`
--

INSERT INTO `resmejor` (`id`, `iduser`, `idequipo`, `tapuesta`) VALUES
(2, 1, 1, 1),
(3, 1, 1, 2),
(4, 1, 1, 2),
(5, 14, 1, 2),
(6, 14, 1, 1);
Lo que quiero hacer es sumar todos los campos "tapuesta" que coincida con el "iduser" para posteriormente subirlo a otra tabla.

En este ejemplo seria
iduser=1 -->5
iduser=14 -->3

Estoy intentandolo pero no me sale... alguna idea?
  #2 (permalink)  
Antiguo 21/09/2011, 16:52
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Sumar campos con un mismo id

y que tiene que ver con PHP? Algo así:

Código MySQL:
Ver original
  1. SELECT iduser, sum(tapuesta) FROM resmejor group by iduser
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 21/09/2011, 17:02
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Sumar campos con un mismo id

Gracias y una última pregunta si quisiera que solo me sumara los campos agrupados por el iduser en la que la condicion fuera que el idequipo fuera 1(u otro)?

osea si idequipo es igual a 1 entonces me sume todos los campos del mismo id user que tenga el idequipo...

no se si me expliqué bien...
  #4 (permalink)  
Antiguo 21/09/2011, 17:20
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Sumar campos con un mismo id

Código SQL:
Ver original
  1. SELECT iduser, SUM(tapuesta) AS total FROM resmejor WHERE idequipo = 1 GROUP BY iduser

Así sumaría todos los tapuesta del idequipo = 1
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 21/09/2011, 17:39
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Sumar campos con un mismo id

Al final lo hice de esta forma:

Código PHP:
Ver original
  1. $query2=mysql_query("SELECT idequipo, iduser, sum(tapuesta) FROM resmejor WHERE idequipo='$name' GROUP BY iduser") or die(mysql_error());


Y lo pongo por si alguien le sirve el código completo, (se pasa el id por un formulario) te va a calcular los puntos que has jugado y despues te los va a sumar a la tabla donde tiene el usuario los puntos totales:

Código PHP:
Ver original
  1. $query2=mysql_query("SELECT idequipo, iduser, sum(tapuesta) FROM resmejor WHERE idequipo='$name' GROUP BY iduser") or die(mysql_error());
  2. while($row2=mysql_fetch_array($query2))
  3. {
  4.     //multiplicamos los creditos ganados por el premio por credito.
  5.     $ganancias=$row2[2]*$premio;
  6.     //Hacemos una consulta para sumarle el premio.
  7.     $query3=mysql_query("SELECT point FROM usuarios WHERE id=".$row2[1]."")or die(mysql_error());
  8.     $row3=mysql_result($query3, 0);
  9.     //Sumamos el resultado del query2 con el resultado de $query3
  10.     $suma=$row3+$ganancias;
  11.     //Y el resultado de la suma lo volvemos a subir a la tabla usuario.
  12.     mysql_query("UPDATE usuarios SET point='$suma' WHERE id=".$row2[1]."") or die (mysql_error());
  13. }

Etiquetas: campos, tabla
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 18:58.