Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2012, 15:11
AcidNN9
 
Fecha de Ingreso: agosto-2012
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
listar con arrays (totalizaciones)

Hola qué tal? siempre leo el foro cuando tengo alguna duda y casi siempre encuentro respuesta, pero al no poder continuar con el problema que se me presenta, me he decidido a registrarme y abrir un post; bien os cuento mi problema, tengo que mostrar de una consulta un listado de maquinas y la sumas de las repetidas para que sean una más.
Más gráficamente, tengo esto:
Código:
maquina 1   00:35
maquina 2   01:34
maquina 2   01:45
maquina 3   00:24
maquina 1   00:12
maquina 2   00:15
y quiero mostrar esto:
Código:
maquina 1   00:47
maquina 2   03:34
maquina 3   00:24
Os paso mi código (creo que fue pillado de alguien de este foro) que lo hace en parte, y el problema que tengo es que no me suma la totalidad solo el primer repetido con su último repetido... un sin sentido, espero que podáis ayudarme.

Código PHP:
    $maquina1 mysql_query("SELECT maquina, horas FROM trabajos WHERE idparte = '".$idparte."' AND estado = 0 ORDER BY maquina");
    if (
$row mysql_fetch_array($maquina1)){
        do {
             
$nommaq[] = $row['maquina'];
             
$horas[] = $row['horas'];
        }
        while (
$row mysql_fetch_array($maquina1));
    }
    echo 
'<pre>';
    
print_r($nommaq);
    
print_r($horas);
    echo 
'</pre>';
    
$arr = array();
    
$nt = array();
    
$ns = array();
    
$x 0;
    
$sumas 0;
     
    foreach (
$nommaq as $i => $maq1) {
        foreach (
$nommaq as $i2 => $maq2) {
        if (
$maq1 == $maq2 ) {
            
$x++;
            
$sumas suma_horas($horas[$i2],$horas[$i]);
            unset(
$nommaq[$i2]);
        }
        }
        if (
$x >= 2) {
        
$arr[$i] = $maq1;
        
$nt[] = $maq1;
        
$ns[] = $sumas;
        } else if (
$x == 1) {
        
$nt[] = $maq1;
        
$ns[] = $horas[$i];
        }
        
$x 0;
        
$sumas 0;
    }
    echo 
'<pre>';
    
print_r($nt);
    
print_r($ns);
    echo 
'</pre>'
y me da este resultado:
Código PHP:
Array
(
    [
0] => Cosedora 2
    
[1] => LimpiaV
    
[2] => LimpiaV
    
[3] => LimpiaV
    
[4] => LimpiaV
    
[5] => maquina 1 ayudante
    
[6] => maquina 1 ayudante
    
[7] => maquina 1 ayudante
)
Array
(
    [
0] => 00:06
    
[1] => 02:17
    
[2] => 00:01
    
[3] => 00:19
    
[4] => 00:12
    
[5] => 02:18
    
[6] => 03:46
    
[7] => 00:14
)
Array
(
    [
0] => Cosedora 2
    
[1] => LimpiaV
    
[2] => maquina 1 ayudante
)
Array
(
    [
0] => 00:06
    
[1] => 2:29
    
[2] => 2:32