Foros del Web » Programando para Internet » PHP »

Sumar la cantidad de los registros en base a 2 arreglos

Estas en el tema de Sumar la cantidad de los registros en base a 2 arreglos en el foro de PHP en Foros del Web. Hola que tal amigos de Foros del Web. Tengo una duda con respecto a 2 arreglos que tengo los cuales tienen los datos de una ...
  #1 (permalink)  
Antiguo 02/12/2009, 14:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 10 años
Puntos: 0
Sumar la cantidad de los registros en base a 2 arreglos

Hola que tal amigos de Foros del Web.

Tengo una duda con respecto a 2 arreglos que tengo los cuales tienen los datos de una consulta a mi base de datos en MySQL.

En el primero obtengo los diferentes servicios que hay en un campo.
Ej.
Corto Circuito
Falsa Alarma
Tala de Arboles

En el segundo obtengo todos los servicios del mismo campo sin importar si repiten o no.
Ej.
Corto Circuito
Corto Circuito
Falsa Alarma
Falsa Alarma
Falsa Alarma
Falsa Alarma
Tala de Arboles

Necesito saber como comparo estos arreglos (o como hacerlo si esto no esta bien para lo quiero obtener) para que en un tercer arreglo me guarde el numero de veces que se repite cada servicio del segundo arreglo.
Ej.
2,4,1.

Hago de su conocimineto que estoy programando en PHP.
Lo que tengo es lo siguiente.


Código PHP:
include ("Conexion.php");

$consulta "SELECT Distinct NomServicio FROM Servicio"
$result =  mysql_query ($consulta$conexion) or die(mysql_error());
$consulta1 "SELECT NomServicio FROM Servicio"
$result1 =  mysql_query ($consulta1$conexion) or die(mysql_error());
$num_rows mysql_num_rows($result);

$arreglo = array();
$contador =0;

for(
$i =1$i <= $num_rows$i++){
 While   (
$registro=mysql_fetch_assoc($result)){

 
 
echo 
$registro ['NomServicio']; 
 


While   (
$registro2=mysql_fetch_assoc($result1)){
if (
$registro2 ['NomServicio'] ==  $registro ['NomServicio'])
$contador ++;
$arreglo $contador;



 }

 }
}
echo 
$arreglo

Pero esto solo me manda como resultado un 2, es decir solo realiza la suma del primer valor de mi segundo arreglo.
Desde ya, Muchas Gracias.
Espero me haya dado a entender.
Desde ya, Muchas Gracias.
  #2 (permalink)  
Antiguo 02/12/2009, 14:42
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 10 años
Puntos: 1
Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

HOLA ... (NO SE SI SERA CORRECTO) PERO LO QUE PARECE QUE QUIERES HACER ES VER LA CANTIDAD DE VECES QUE SE REPITE CADA REGISTRO...
SI LO QUIERES HACER ESO, PUEDES HACER UNA SOLA CONSULTA QUE TE DEVUELVA LOS RESULTADOS QUE DESEAS, PROPONGO ALGO MASOMENOS ASI:


SELECT NomServicio , COUNT(NomServicio) FROM Servicio GROUP BY NomServicio;

ESPERO QUE TE AYUDE...


SALUDOS
  #3 (permalink)  
Antiguo 02/12/2009, 14:44
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 10 años, 1 mes
Puntos: 65
Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

Si, totalmente, me parece mas facil desde la consulta SQL
  #4 (permalink)  
Antiguo 02/12/2009, 20:19
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 10 años
Puntos: 0
Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

xam 1683 y jackson666 muchas gracias por su ayuda, yo no lo habia razonado de ese modo.
Les debo la vida. Mil gracias.
  #5 (permalink)  
Antiguo 02/12/2009, 20:34
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 10 años
Puntos: 0
Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

Hola de nuevo amigos aprovechando su conocimiento y su capacidad de razonar una duda mas:

La consulta me devuelve los datos como yo los queria (gracias nuevamente), solo que mi campo NomServicio me devuelve la clave del servicio (es decir un numero) no el nombre del servicio como tal (esto es por las realaciones que existen en mis tablas y esta bien) solo que yo quiero que a la hora de mostrar los datos de la consulta anterior me haga el cambio a su correspondiente nombre.

Ej.

NomServicio COUNT(NomServicio)
1 5
4 3
2 16 etc.


Para que se muestre:

CortoCircuito 5
Falsa Alarma 3
Tala de Arboles 16




Obviamente en otra tabla llamada ServicioEspecifico es donde se guarda el nombre (con letra) del servicio.
Como puedo hacerle con php para que me haga el cambio y que me aparezca el nombre en lugar de la clave?


Desde ya, muchas gracias.
  #6 (permalink)  
Antiguo 03/12/2009, 00:15
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 10 años
Puntos: 1
De acuerdo Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

Hola D Nuevo.........como no especificas si el campo con el nombre de los servicios esta en la misma tabla o en otra tabla, podrias hacerlo masomenos asi:

1.PARA LA MISMA TABLA:

Código:
SELECT NombreDelServicio , COUNT(NomServicio) FROM Servicio GROUP BY NomServicio;
2.PARA OBTENER EL NOMBRE DE OTRA TABLA:
SELECT t1.NombreDelServicio , COUNT(t2.NomServicio) FROM tabla1 t1, tabla2 t2 where t1.NomServicio=t2.NomServicio GROUP BY t2.NomServicio;

intenta con eso.... (y)

Saludos Sam.
  #7 (permalink)  
Antiguo 03/12/2009, 00:24
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 11 años, 4 meses
Puntos: 105
Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

hola xam1683..........
que raro, tu respuesta se parece a la que acabo de hacer en este nuevo post creado por el mismo usuario hace poco...
http://www.forosdelweb.com/f18/cambi...2/#post3190853

casi identicas no ???? por que sera .........
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #8 (permalink)  
Antiguo 03/12/2009, 01:38
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 10 años
Puntos: 0
De acuerdo Respuesta: Sumar la cantidad de los registros en base a 2 arreglos

xam1683 y masterojistos no me queda mas que agradecerles por su ayuda, y por su pronta respuests. Ya quedo mi consulta con los resultados exactos (Gracias a ustedes). Mil Gracias
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 22:38.