quindi se ci pensi, il tuo codice è errato...pensa ad una situazione del genere, in cui il record 2 non è stato mai modificato:
codice:
TabA TabB
1 1
2 3
3
Quando fai :
codice:
while($arr=mysql_fetch_array($result1)) {
$arr2=mysql_fetch_array($result2) ?>
Il primo passo va bene. Nel secondo vai a confrontare il record 2 con la copia del 3 (sbagliato) ed infine il 3 con null (in realtà dovresti avere un errore, visto che le tabelle hanno dimensioni diverse).
Allora, o copi lo stesso il record in B quando fai l'inserimento, oppure puoi fare una cosa del genere:
Codice PHP:
<?php
$query2= " SELECT * FROM tabella2 ";
$result2=mysql_query($query2) or die (mysql_error());
$olds = [];
while($row = mysql_fetch_assoc($result2)){
$olds[$row['id']] = $row;
}
while($arr=mysql_fetch_array($result1)) {
$idd = (isset($olds[$arr['id']]) && $arr['id'] != $olds[$arr['id']]['id']) ?
'red' : 'normal'; ?>
<td width='5'> <?php echo $idd ?></td>
<td width='5'> <?php echo $arr['owner'] ?> </td>
<?php $cod = (isset($olds[$arr['id']]) && $arr['cod_mat'] != $olds[$arr['id']]['cod_mat']) ?
'red' : 'normal'; ?>
<td width='5'> <?php echo $cod ?></td>
etc...
}