Foros del Web » Programando para Internet » PHP »

contar datos de array

Estas en el tema de contar datos de array en el foro de PHP en Foros del Web. BUenas a todos!!! tengo una duda, como hago para contar los datos de una matriz. por ejemplo: Código HTML: id arti articulo cantidad 1 mouse ...
  #1 (permalink)  
Antiguo 19/07/2011, 17:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
contar datos de array

BUenas a todos!!!
tengo una duda, como hago para contar los datos de una matriz.

por ejemplo:

Código HTML:
id arti     articulo         cantidad
1              mouse              2
1              mouse             4
2             teclado            4
3             pad                  4
1           mouse              3
bien yo quiero contar la cantidad e mouse, teclado y pad que tengo, como se puede hacer??? desde ya muchas gracias
  #2 (permalink)  
Antiguo 19/07/2011, 17:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: contar datos de array

Usa count en la consulta. Verifica el manual oficial para que veas como trabaja esa función.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/07/2011, 17:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: contar datos de array

no me devuelve otros resultados, a parte de esa hay otra forma para hacerlo? muchas gracias
  #4 (permalink)  
Antiguo 19/07/2011, 18:03
 
Fecha de Ingreso: marzo-2011
Mensajes: 68
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: contar datos de array

Cómo tenés esos datos en el array?
  #5 (permalink)  
Antiguo 19/07/2011, 18:09
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: contar datos de array

Imagino que tienes declarada tu matriz asi:

Código PHP:
$matriz = array(array('id_articulo'=>1,'articulo'=>'mouse','cantidad'=>2), array('id_articulo'=>2,'articulo'=>'mouse','cantidad'=>4)......); 
y quieres saber cuanto de cada articulo tienes, entonces haria esto:

Código PHP:
$cantidades = array();
foreach(
$matriz as $row)
{
if(
in_array($row['articulo'],$cantidades))
$cantidades[$row['articulo']] = $cantidades[$row['cantidad']] + $row['cantidad'];
else
$cantidades[$row['articulo']] = $row['cantidad'];

Y obtendras un arreglo asi:

'mouse' => 6
'otro' => 3
.....

Si me equivoco corrijanme gracias
  #6 (permalink)  
Antiguo 19/07/2011, 18:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: contar datos de array

de esa forma lo tengo en la BD, como esta arriba
  #7 (permalink)  
Antiguo 20/07/2011, 02:21
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: contar datos de array

Si lo tienes en la base de datos no es tema de PHP, es de SQL y la clave está en utilizar SUM() y GRUP BY. Algo así:

SELECT articulo, SUM(cantidad) FROM Tabla GROUP BY articulo;
Código:
Esto te dará:
articulo 	SUM(cantidad)
mouse 		7
pad 		4
teclado 	4
Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #8 (permalink)  
Antiguo 20/07/2011, 09:21
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: contar datos de array

De todos modos mysql_fetch_assoc te crea un arreglo igual al que puse.

Salu2
  #9 (permalink)  
Antiguo 20/07/2011, 09:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: contar datos de array

muchas gracias por las ayudas, ahora en un ratito me pongo a ver si me funciona, muchas gracias nuevamente
  #10 (permalink)  
Antiguo 20/07/2011, 12:26
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: contar datos de array

Código PHP:

$sql_vta 
pg_exec($db,"select * from ventas  order by vt_arti asc");

$cantidad =pg_fetch_array($sql_vta);
debug_zval_dump($cantidad);
die;


y este es el resultado:

Código:
array(16) refcount(2){ [0]=> string(2) "75" refcount(1) ["idventas"]=> string(2) "75" refcount(1) [1]=> string(1) "1" refcount(1) ["vt_arti"]=> string(1) "1" refcount(1) [2]=> string(1) "1" refcount(1) ["vt_cant"]=> string(1) "1" refcount(1) [3]=> string(5) "23.00" refcount(1) ["vt_pre_u"]=> string(5) "23.00" refcount(1) [4]=> string(5) "23.00" refcount(1) ["vt_pre_tot"]=> string(5) "23.00" refcount(1) [5]=> string(4) "0.00" refcount(1) ["vt_dto"]=> string(4) "0.00" refcount(1) [6]=> string(6) "100074" refcount(1) ["vt_factu"]=> string(6) "100074" refcount(1) [7]=> string(10) "2011-05-17" refcount(1) ["vt_fecha"]=> string(10) "2011-05-17" refcount(1) }

eso es lo que me devulve,
  #11 (permalink)  
Antiguo 21/07/2011, 03:35
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: contar datos de array

Cita:
Iniciado por vgonga1986 Ver Mensaje
Si lo tienes en la base de datos no es tema de PHP, es de SQL y la clave está en utilizar SUM() y GRUP BY. Algo así:

SELECT articulo, SUM(cantidad) FROM Tabla GROUP BY articulo;
Código:
Esto te dará:
articulo 	SUM(cantidad)
mouse 		7
pad 		4
teclado 	4
Un saludo.
Bueno, yo ya te respondí y la SQL que te pasé funciona perfecto, si tú no haces caso y pones la SQL que te da la gana, pues seguirá sin funcionarte, pero a mí no me eches la culpa.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #12 (permalink)  
Antiguo 21/07/2011, 06:54
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: contar datos de array

Muchas gracias vgonga1986, pero no te enojes, lo que yo pregunte era para ver si me salia lo de gysato, pero utilice lo que vos me pasaste, muchas gracias!!!!!!! y Gracias a todos lo que me ayudaron

Etiquetas: Ninguno
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 09:00.