Se avete bisogno di confrontare il contenuto di varie tabelle di un DATABASE, tipo dopo un aggiornamento, ed avete VECCHIA_TABELLA, per le tabelle precedenti, e TABELLA, che sono le nuove tabelle, usando lo script fate in modo che tutte le vecchie tabelle vengano confrontate con le nuove per vedere se e quali differiscono nel numero dei campi. Nel mio caso ho old_tabella_A, old_tabella_B, etc… da confrontare con tabella_A, tabella_B, etc…, il tutto regolato in base all’espressione explode.

A video avrete il numero dei campi di ciascuna tabella del DATABASE e se questo differiscono nel numero dei campi, vengono mostrare su 2 colonne tutti i campi di ciascuna tabella.

//elenca i nomi delle tabelle
$result = mysql_list_tables($db_name);</code>

while ($riga = mysql_fetch_row($result)) {
// SINGOLA TABELLA

//IMPOSTO CONFRONTO TABELLE VECCHIE CON NUOVE
$exploso=explode(“old_”,$riga[0]);

if($exploso[0]==”)
{
//CONFRONTO TABELLE

$tab1=$exploso[1];
$tab2=$riga[0];
echo ”
confroto tra: <strong>$tab1</strong> , <strong>$tab2</strong>
“;

$res1 = mysql_query(‘select * from ‘.$tab1, $db_conn);
$res2 = mysql_query(‘select * from ‘.$tab2, $db_conn);

echo ”
“;
$numero_campi1=mysql_num_fields($res1);
$numero_campi2=mysql_num_fields($res2);

echo ”
<table>
<tr>
<td>TABELLA
$tab1
“.$numero_campi1.”</td>
<td>TABELLA
$tab2
“.$numero_campi2.”</td>
</tr>
<tr>
<td>”;
for ($i=0; $i&lt;$numero_campi1 ; $i++ ) {
$var1 = mysql_field_name($res1, $i);
//$row_title .= $var;
echo $var1.’
‘;
}
echo “</td>
<td>”;
for ($i=0; $i&lt;$numero_campi2 ; $i++ ) {
$var2 = mysql_field_name($res2, $i);
//$row_title .= $var;
echo $var2.’
‘;
}
echo “</td>
</tr>
</table>
“;

//CONFRONTO TABELLE
}
else {
//echo “tabella nuova, non old”;
echo ” – – – “;
}