Salve a tutti!!!
Vengo subito al sodo
VVoVe:
Ho provato a fare una pagina che va a leggere le tabelle del database, prende solo quelle che cominciano per "for" (che sarebbero poi vari forum) e dovrebbe poi creare il dumb per l'inserimento dei dati esistenti. Un backup delle tabelle. Ma del tutto dinamico così se si aggiunge una tabella forum non si deve fare altro.
Diciamo che sono riuscito nel mio intento, a metà.. o qualcosina di più.
In ratica l'errore è questo, anche se mi cambia il nome della tabella e prende i nomi giusti delle colonne, va a prendere cmq sempre i dati della stessa tabella (e vi assicuro che i dati delle varie tabelle sono diversi tra loro
).
Mi sono scervellato e non ci arrivo proprio al problema. Magari qualcun'altro lo vede subito 
Potete dare un'occhiata al codice?
Eccolo:
Codice PHP:
<?
include_once('includes/config.inc.php');
///////////prendiamo tutte le tabelle e teniamo quelle dei forum///////////////
$tbls = mysql_list_tables($dbname);
$num_rows = mysql_num_rows($tbls);
$arrtbl=array();
for ($i = 0; $i < $num_rows; $i++){
$tblname=mysql_tablename($tbls, $i);
//visualizziamo i nomi e creiamo array con nomi delle tabelle forum
if(substr($tblname,0,3)=="for"){
echo "Tabella: ".$tblname."
";
$arrtbl[]=$tblname;
}
}
mysql_free_result($tbls);
//////////////inizio lavoro per ogni tabella!!!!!!///////////////////////
$tottext="";
for($z=0;$z<=count($arrtbl)-1;$z++){
$tblatt=$arrtbl[$z];
$sqlfields="";
//estrapoliamo i nomi delle colonne della tabella
$docols = mysql_query("SHOW COLUMNS FROM ".$tblatt);
$arrcols=array();
if (mysql_num_rows($docols) > 0) {
//mettiamo tutte le collone in un array
while ($row=mysql_fetch_assoc($docols)) {
$arrcols[]=$row;
}
}//fine if
mysql_free_result($docols);
//mettiamo tutti i campi in una variabile che metteremo poi nella query
for($t=0;$t<=count($arrcols)-1;$t++){
$sqlfields.=$arrcols[$t]['Field'];
if($t!=count($arrcols)-1){//mettiamo la virgola tranne se è l'ultimo
$sqlfields.=",";
}
}//fine secondo for
///////prendiamo i dati dalla tabella attuale
$sqldati="SELECT * FROM ".$tblatt;
$dodati=mysql_query($sqldati,$conn);
//dobbiamo mettere tutte le righe in un array, come facciamo?
while ($datu = mysql_fetch_row($dodati)) {
$arrvals[]=$datu;
}
mysql_free_result($dodati);
$vals="";
$testovals="";
for($g=0;$g<=count($arrvals)-1;$g++){//per ogni riga trovata
$testovals="(";//apro parentesi che va dopo VALUES
for($s=0;$s<=count($arrcols)-1;$s++){//per ogni campo
$testovals.="'".$arrvals[$g][$s]."',";
}
$testovals=substr($testovals,0,-1)."),";//chiudo ) e metto , per la prossima riga
$vals.=$testovals;//riga completa
$testovals="";
}
//creiamo il testo che va all'inizio con l'insert ecc
$testofile="#\n#Dumb della tabella ".$tblatt."\n#\nINSERT INTO ".$tblatt." (".$sqlfields.") VALUES ";
//tolgo l'ultima virgola
$tottext.=htmlentities($testofile.substr($vals,0,-1)).";\n\n\n";
}//fine primo for
echo $tottext;
?>
Grazie in anticipo!