comparar dos registros

Rodrigo Fuentealba darkprox en gmail.com
Jue Feb 8 13:27:15 CLST 2007


El 8/02/07, Alberto Rivera <rivera.alberto en gmail.com> escribió:
> $num5=mysql_num_rows($reshe1);
> while ($row5=mysql_fetch_array($reshe1)) {
>    $m++; $id5[$m]=$row5["rut"];
> }
> for($i=1;$i<=$num1;$i++){
>    for($j=0;$j<=$num5;$j++){
>          if ($id1[$i] == $id5[$j]){
>            $sql=mysql_query("DELETE FROM $bddt WHERE id=$id5[$j]",$bd);
> } } }
>

Si estamos peleando por optimizaciones...

Darle a ambas consultas un order by id asc (para que obtenga el id
ordenado) y hacer que el for sea mientras el valor de $i sea menor que
el de $j (menos veces se repite) y j tenga todavía valores. Si el
valor de lo que esta en $array[$i] es igual a $array2[$j], entonces
ejecutar. Si no, ¿para qué seguir revisando?.

Además, podemos sacar del row el valor $array[$j] de manera que la
siguiente vez no exista ese valor. Eso sí, funcionará obteniendo un
array de la consulta.

Sigo pensando en que sería mejor metiendo la consulta en todo caso...

-- 
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org



Más información sobre la lista de distribución PHP