Foros del Web » Programando para Internet » PHP »

Problemas con arrays

Estas en el tema de Problemas con arrays en el foro de PHP en Foros del Web. Hola a todos, tengos un peroblema con un arreglo bidimensional al momento de almacenarlo en la bd, bueno les explico: Lo ke pretendo hacer es ...
  #1 (permalink)  
Antiguo 02/07/2007, 13:40
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 10 meses
Puntos: 6
Problemas con arrays

Hola a todos, tengos un peroblema con un arreglo bidimensional al momento de almacenarlo en la bd, bueno les explico:

Lo ke pretendo hacer es mediante un arreglo ir revizando cuales son lo pedidos ke son de un mismo grupo y de una misma operacion e ir sumando sus horas cada vez ke en el arreglo me encuentre con el mismo pedido le pertenzca al mismo grupo y a la misma operacion, bueno esto supuestamente ya lo hice en un ciclo y funciona es decir me inserta en la bd en mysql pero no me suma las horas. El arreglo lo administro asi: en la posicion 0,0 tengo el numero de pedido, en la 0,1 tengo el grupo, en la 0,2 tengo la operacion y en la 0,3 tengo las horas para esa operación (para el primer registro y asi hasta n).

Previamente antes de hacer esto los datos los ordene en la tabla de acuerdo a numero de pedido, grupo y operacion para ke todos los pedidos del mismo grupo y operacion me keden juntos y no tenga ke revizar todo el arreglo para ir sumando sino nada mas comparar mientras sean iguales:

este es mi código:
Código:
$c1=$co=0;
		  $c2=$c=0;
		  $cuenta=0;
		  $fil=sizeof($miarrchido);
		  echo $fil;
		  
		  while($co<$fil){
		       $c1=$co;
			   $band=0;
			   $r=0;
			   $ban1=0;
			    while($ban1==0){
				 
				  if($miarrchido[$co][0]==$miarrchido[$c1+1][0] AND $miarrchido[$co][1]==$miarrchido[$c1+1][1] 
				       AND $miarrchido[$co][2]==$miarrchido[$c1+1][2]){
		                $r=1; 
					    if($band==0){
						   $p1= $miarrchido[$co][3];
						   $p= $miarrchido[$c1+1][3];
						   $cuenta=$p1 + $p;
						   [$co][3])+ ($miarrchido[$c1+1][3]);
						   echo "esto TIENE CUENTA DEL IF";
						   echo $cuenta;
						   $band=1;
						   $c1++;
					    }
					    else{
						    $cuenta=$cuenta+$miarrchido[$c1+1][3];
							echo "esto TIENE CUENTA del ELSE";
						   echo $cuenta;
							$c1++;
						}
					}	
				   else{$ban1=1;}
				 
				}
						
						  if($ban1==1 and $r==0){    
							   $ped=$miarrchido[$co][0];
						       $grup=$miarrchido[$co][1];
						       $cco=$miarrchido[$co][2];
							   $hr=$miarrchido[$co][3];				   
				               $inss="Insert into pedido_howmany (pedido, grupo, ceco, hrs_d_r)
							          VALUES ('$ped','$grup','$cco','$hr')";
							   $re = mysql_query($inss) or die('Consulta fallida: ' . mysql_error());
                               $c1++;
					           $co=$c1;
					           //$c1=$fil;
						    }
						 if($ban1=1 and $r==1){
						 
						       $ped=$miarrchido[$co][0];
						       $grup=$miarrchido[$co][1];
						       $cco=$miarrchido[$co][2];
						   
				               $inss="Insert into pedido_howmany (pedido, grupo, ceco, hrs_d_r)
							          VALUES ('$ped','$grup','$cco','$cuenta')";
							   $re = mysql_query($inss) or die('Consulta fallida: ' . mysql_error());
                               $c1++;
					           $co=$c1;
					           
						 
						 }
					
						echo "Esto tiene c1";
						echo $c1;
				 
		  }
ojala me pudieran ayudar por ke no entiendo opr ke no me suma nada es decir siempre me pone 0, de verdad se los agradezco de antemano.
__________________
"Eres grande por que caminas entre gigantes"
  #2 (permalink)  
Antiguo 02/07/2007, 14:51
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 10 meses
Puntos: 6
Re: Problemas con arrays

por favor alguna solucion
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 02/07/2007, 15:11
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Problemas con arrays

No entendí muy bien tu código, pero esta línea es correcta?

Código PHP:
[$co][3])+ ($miarrchido[$c1+1][3]); 
?
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #4 (permalink)  
Antiguo 02/07/2007, 17:50
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Problemas con arrays

yo toy igual que TolerantX
con lo poco que entendí hice algunos cambios para que cheques,
Código PHP:
$cuenta=0;
$fil=sizeof($miarrchido);
echo 
$fil;
for(
$i=0;$i<$fil;$i++){
    
$band=0;
    
$r=0;
    
$ban1=0;
    while(
$ban1==0){
          if(
$miarrchido[$i][0]==$miarrchido[$i+1][0] && $miarrchido[$i][1]==$miarrchido[$i+1][1] && $miarrchido[$i][2]==$miarrchido[$i+1][2]){
                
$r=1
                if(
$band==0){
                   
$cuenta=$miarrchido[$i][3] + $miarrchido[$i+1][3];
                   echo 
"esto TIENE CUENTA DEL IF: '$cuenta'";
                   
$band=1;
                }
                else{
                    
$cuenta+=$miarrchido[$i+1][3];
                    echo 
"esto TIENE CUENTA del ELSE: '$cuenta'";
                }
            }    
            else{
$ban1=1;}
    }
    if(
$ban1==&& $r==0){    
        
$ped=$miarrchido[$i][0];
        
$grup=$miarrchido[$i][1];
        
$cco=$miarrchido[$i][2];
        
$hr=$miarrchido[$i][3];                   
        
$inss="Insert into pedido_howmany (pedido, grupo, ceco, hrs_d_r) VALUES ('$ped','$grup','$cco','$hr')";
        
$re mysql_query($inss) or die('Consulta fallida: ' mysql_error());
        }
    if(
$ban1=&& $r==1){
        
$ped=$miarrchido[$i][0];
        
$grup=$miarrchido[$i][1];
        
$cco=$miarrchido[$i][2];
        
$inss="Insert into pedido_howmany (pedido, grupo, ceco, hrs_d_r) VALUES ('$ped','$grup','$cco','$cuenta')";
        
$re mysql_query($inss) or die('Consulta fallida: ' mysql_error());
    }

espero que te sirva.

pregunta: para que te sirve band, ban1 y r ??

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 03/07/2007, 07:13
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 10 meses
Puntos: 6
Re: Problemas con arrays

r es para checar kuando sea el primer registro, band es para sumar el primer registro ke sea igual al siguiente por eso lo utilizo en el if por si son los primeros iguales sumo lo ke tengan los dos despues si ahi algun otro igual simplemente le sumo lo ke tiene la variable kuenta mas lo ke tiene el valor actual que sea igual y ban1, es simplemente para saber si voy a insertar un registro ke tiene la suma de muchos otros registros ke fueron iguales o para saber si no ahi otro registro igual entonces insertar el valor ke tiene el campo hrs_d_r sin sumar nada.


Sale pues muchas gracias por responder....
__________________
"Eres grande por que caminas entre gigantes"
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 14:09.