Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/03/2008, 14:09
mex2008
 
Fecha de Ingreso: marzo-2008
Mensajes: 59
Antigüedad: 16 años, 1 mes
Puntos: 0
Comparando 2 tablas actualizando 1

Consulto 2 tablas de las cuales cada registro de la primera tabla se tiene que comparar con todos los de la segunda para que si coinciden lleve acabo el update

1 - 1
1 - 2
1 - 3
etc.....

pero lo que NO me hace es

2 - 1
2 - 2
etc...

El problema que veo es que el recordset del while anidado esta al final y por eso ya no entra. ( en pocas palabras solo recorre una vez).

Como podria regresar el apuntador del $q2row al inicio(detalle en codigo).

Gracias de antemano


$query=mysql_query("SELECT * FROM tabla1",$conn) or die ("query no generada");
$query2=mysql_query("SELECT * FROM tabla2",$conn) or die ("query2 no realizada");

while ($q1row=mysql_fetch_array($query) > 0)
{

while ($q2row=mysql_fetch_array($query2) > 0)

{

if ($q1row['cve'] == $q2row['cve'])
{
$car=$q2row['caract'];
$pegacaract=mysql_query("UPDATE tabla1 SET caract=$car",$conn);
$i=$i+1;
}
else
{
if ($q1row['id'] == $q2row['id'])
{
$car=$q2row['caract'];
$pegacaract=mysql_query("UPDATE tabla1 SET caract=$car",$conn);
$i=$i+1;
}
}

}
$i=$i+1;
}

echo $i;