PHP - suma con php y mysql

 
Vista:
sin imagen de perfil

suma con php y mysql

Publicado por Miguel (2 intervenciones) el 14/04/2017 21:08:43
tengo una tabla con 2 columnas "nombre" "horas" mi intención es sumar las horas de cada nombre uso este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$query = "SELECT nombre FROM tabla where alta='si'  " ;
  $result = mysql_query($query);
 
$res = mysql_query("SELECT SUM(horas) as total  FROM tabla ");
$total = mysql_result($res,0);
 
echo "<table border>";
 
    while ($a = mysql_fetch_array($result)){
 
echo "<tr>";
 
echo "<td> ".$a['nom']."</td><td>$total</td>";
 
echo "</tr>";
 
}
 
echo '</table>';

asi me crea una tabla he imprime todos los nombres pero claro imprime el total de todas las horas en cada nombre, ando muy perdido,
saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

suma con php y mysql

Publicado por Alejandro (157 intervenciones) el 15/04/2017 01:00:33
Hola Miguel prueba usar una clausula GROUP BY asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$db = mysqli_connect("localhost", "USER", "PASSWORD", "DATABASE");
 
/* verificar la conexión */
if (mysqli_connect_errno()) {
    die("Conexión fallida:" . mysqli_connect_error());
}
 
$sql = "SELECT SUM(horas) as total, nombre  FROM tabla WHERE alta='si' GROUP BY(nombre)";
 
$result = mysqli_query($db, $sql);
 
echo "<table border>";
 
while ($a = mysqli_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$a['nombre']."</td>";
echo "<td>".$a['total']."</td>";
echo "</tr>";
}
echo '</table>';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

suma con php y mysql

Publicado por Miguel (2 intervenciones) el 15/04/2017 11:39:07
Funciono perfecto lo unico fue quitar el
1
WHERE alta='si'
muchisimas gracias llevaba mas de 8 dias con esto sin allar la solucion y mira que era facil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar