Foros del Web » Programando para Internet » PHP »

recorrer dos mysql_fetch_array y comparar los registros

Estas en el tema de recorrer dos mysql_fetch_array y comparar los registros en el foro de PHP en Foros del Web. Hola amigos estoy trabajando con php + mysql y tengo dos Mysql_fetch_array quiero recorrer ambos y compararlos, poseen campos como CI iguales y quiero que ...
  #1 (permalink)  
Antiguo 10/11/2011, 13:34
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
recorrer dos mysql_fetch_array y comparar los registros

Hola amigos estoy trabajando con php + mysql y tengo dos Mysql_fetch_array quiero recorrer ambos y compararlos, poseen campos como CI iguales y quiero que me diga cuantos campos de la consulta1 coinciden con la consulta2

$Primero=mysql_fetch_array($consulta01);

$Segundo=mysql_fetch_array($consulta02);

gracias!!!!
  #2 (permalink)  
Antiguo 10/11/2011, 13:57
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Lee este post espero que te ayude.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #3 (permalink)  
Antiguo 10/11/2011, 14:12
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Graciassss !!! lo voy a leer y les cuento como me fue.
  #4 (permalink)  
Antiguo 10/11/2011, 14:30
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

El post me da la estructura que necesito sin embargo no se como hacer para comparar cada registro de consulta 1 con la consulta 2 a fin de encontrar registros iguales.

algo asi como :
if (consulta 1 i[x] = consulta2 j[x] { si el registro de la consulta 1 es igual al registro de la consulta 2
echo id[consulta02]= x
}
  #5 (permalink)  
Antiguo 10/11/2011, 15:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Tienes que primero definir que es lo que vas a consultar, si es un campo en concreto puedes usar dos ciclos, el primero para ciclar los registros de tu consulta A, y otro para los de la B:
Código PHP:
Ver original
  1. while($row1 = mysql_fetch_array($result1)) {
  2.       while($row2 = mysql_fetch_array($result2)) {
  3.            if ($row1['col'] == $row2['col']) {
  4.                    // aqui lo que quieras hacer cuando son iguales
  5.            }
  6.       }
  7.       mysql_data_seek($row2, 0); // regresar el resultset 2 al inicio
  8. }

Claro esto no es muy optimo, si tus resultados no son tantos, lo mejor es que bajes ambos resultsets a arrays en PHP locales y hagas el loop en esos datos, ya que de la forma que lo puse sobrecargas mucho tu BDD.
  #6 (permalink)  
Antiguo 10/11/2011, 17:48
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Muchas gracias por contesta GatorV. Quiero comparar 4 campos por cada registro. Son bastantes registros mas de 15 mil por lo menos. Por la cantidad de registros no deberia usar los while ???
  #7 (permalink)  
Antiguo 10/11/2011, 21:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Deberías de asignar mejor a arrays locales, y en el if, compara los campos que quieras.

Saludos.
  #8 (permalink)  
Antiguo 10/11/2011, 22:07
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Perdona mi ignorancia pero la verdad no se a que te refieres con arrays locales, me podrias dar un ejemplo para saber a lo que te refieres. disculpa tanta lata.
  #9 (permalink)  
Antiguo 10/11/2011, 22:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recorrer dos mysql_fetch_array y comparar los registros

Sí, asignar los resultados a un array, por ejemplo:
Código PHP:
Ver original
  1. $aResult1 = array();
  2. while($row = mysql_fetch_assoc($result1)) $aResult1[] = $row;

Dentro de $aResult1[] vas a tener todos los valores a comparar, y usas el ciclo doble igual que lo que te puse.

Saludos.

Etiquetas: mysql, registros, sql
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 13:58.