Foros del Web » Programando para Internet » PHP »

Sumar un atributo segun el siguiente

Estas en el tema de Sumar un atributo segun el siguiente en el foro de PHP en Foros del Web. hay alguna manera de saber el resultado siguiente que entrega un query de mysql?? while ($can=mysql_fetch_array($query)){ } Se me ocurrió probar con $can["Tipo"][$i+1] pero dice ...
  #1 (permalink)  
Antiguo 03/11/2011, 10:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 1
Sumar un atributo segun el siguiente

hay alguna manera de saber el resultado siguiente que entrega un query de mysql??


while ($can=mysql_fetch_array($query)){

}

Se me ocurrió probar con $can["Tipo"][$i+1] pero dice que no existe. como lo puedo determinar??
  #2 (permalink)  
Antiguo 03/11/2011, 10:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Sumar un atributo segun el siguiente

¿A que te refieres con el resultado siguiente?

Así no funciona eso, deberías leer el manual para ver como funciona dicha función:
http://php.net/mysql_fetch_array

Se supone que el bucle itera todos los resultados de la consulta, así que no se por qué quieres hacerlo así.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/11/2011, 10:40
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Sumar un atributo segun el siguiente

hola

explicate mejor que es lo que quieres, saber la cantidad de registros que arroja tu consulta...

con mysql_num_rows, o si no creas un contador que te sume dentro del while ... no entiendo muy bien qu quieres hacer.
  #4 (permalink)  
Antiguo 03/11/2011, 11:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Sumar un atributo segun el siguiente

tengo una tabla de la siguiente manera

retiro, fecha, cesto, fruta, Canasta1, Canasta2, Canasta3
ejemplo

1, 02-05-2011, Canasta1, manzana, 0, 2, 3
2, 03-05-2011, Canasta3, manzana, 0, 2, 3
3, 04-05-2011, Canasta2, manzana, 0, 2, 3
1, 02-05-2011, Canasta1, pera, 1, 1, 1
2, 03-05-2011, Canasta3, pera, 1, 1, 1
3, 04-05-2011, Canasta2, pera, 1,1,1

Necesito contar según fruta y a que cesto corresponde la cantidad de esta. para eso ordene la tabla por frutas y pretendo solo sumar según el cesto la columna correspondiente y que me lo imprima. para lo cual necesito saber cuando cambio de fruta para dejar de contar y comenzar a contar otra.

Me explico con un código que no funciona.

Código PHP:
Ver original
  1. while ($can=mysql_fetch_array($query)){
  2.     if ( $can["fruta"]== $can["fruta siguiente??"] ) { #aquí mi pregunta
  3.         $total = $total + $can[$can["cesto"]];
  4.     } else {
  5.         echo "Tienes ".$total." de ".$can["fruta"]."\n";
  6.         $total = 0;
  7.     }
  8. }
  #5 (permalink)  
Antiguo 03/11/2011, 11:36
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Sumar un atributo segun el siguiente

ok

una idea podria ser.


Código PHP:
Ver original
  1. while ($can=mysql_fetch_array($query)){
  2.        $cantidad_fruta = $can["fruta"]; // variable que contiene el nombre de la fruta del ciclo anterior
  3.            if(empty($cantidad_fruta)){ // valido que la variable este vacia
  4.                          $total = $total + $can[$can["cesto"]]; // haces el conteo      
  5.            }else{// la variable ya no vendra vacia
  6.        
  7.                if($cantidad_fruta == $can["fruta"]){// valido que la fruta del ciclo anterior sea igual a del ciclo actual
  8.                
  9.                        // sigues sumando el total
  10.                        
  11.                          $total = $total  + $can[$can["cesto"]];
  12.                }else{
  13.                        // reseteas las variables con la nueva fruta
  14.                        $cantidad_fruta = $can["fruta"];
  15.                        $total  = $can[$can["cesto"]];
  16.              }
  17.        
  18.          }// fin del while

Algo asi seria.
  #6 (permalink)  
Antiguo 03/11/2011, 11:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Sumar un atributo segun el siguiente

De esa manera siempre tendrá el valor de la fruta de la fila que comparas ya que esta dentro del while y si lo dejo afuera me da error por que $can no esta definido al momento de guardar

Etiquetas: mysql, siguiente, sql, atributos
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 20:29.