martedì 9 marzo 2010

la faccia nascosta


");
}
}

function elaboralinea($bgcolor, $record, $linea) {
global $dbname, $tabella, $campo_prefix, $dbi;

// ricava nome e valore del campo
list($campo_nome,$campo_valore)=split("=",$linea);

$campo_nome = $campo_prefix . $campo_nome;
// $campo_valore = addslashes(htmlentities($campo_valore));


// echo "$record$linea$campo_nome$campo_valore".strlen($campo_valore)."";

/****************************************************************************
// cerca se esiste gia il campo $campo_nome
//
// ricava i nomi attuali dei campi della tabella
$campi = mysql_list_fields($dbname, $tabella, $dbi);
// numero di campi della tabella
$colonne = mysql_num_fields($campi);
$esiste = "0";
for($i = 0; $i < $colonne; $i++) { if ( trim($campo_nome) == trim(mysql_field_name($campi, $i)) ) { $esiste = "1"; $result = sql_query("SELECT * from $tabella WHERE id='$record'", $dbi); while ($row=@mysql_fetch_array($result)) { $campo_valore = $row["$campo_nome"]." ".$campo_valore; $result = sql_query("UPDATE $tabella SET $campo_nome = '$campo_valore' WHERE id='$record'", $dbi); if(!$result) { echo "errore: UPDATE record $record - $linea
";
}
}
}
}
****************************************************************************/

$result = sql_query("SELECT * from $tabella WHERE id='$record'", $dbi);
$campo_valore1 = stripslashes(mysql_result($result,0,$campo_nome));
$campo_valore2 = $campo_valore;
$campo_valore = $campo_valore1.$campo_valore2;
//$campo_valore = addslashes(htmlentities($campo_valore));
$campo_valore = addslashes($campo_valore);

$result = sql_query("UPDATE $tabella SET $campo_nome = '$campo_valore' WHERE id='$record'", $dbi);
if(!$result)
{
echo "

errore: UPDATE record $record - $campo_valore1 - $campo_valore

";
salvaerrore($record, $campo_nome, $campo_valore1, $campo_valore1, $campo_valore);
// echo "errore: UPDATE record $record - $campo_valore1 - $campo_valore
";
}
$esiste == "1";



// se il campo è nuovo
if ( $esiste == "0" )
{
$result = sql_query("ALTER TABLE $tabella ADD $campo_nome TEXT", $dbi);

echo "ALTER $campo_nome
";

if(!$result)
{
echo "errore: ALTER $tabella record $record - $linea
";
}

// echo "tabella=$tabella, campo_nome=$campo_nome, campo_valore=$campo_valore, record=$record
";

$result = sql_query("UPDATE $tabella SET $campo_nome = '$campo_valore' WHERE id='$record'", $dbi);
if(!$result)
{
echo "errore: UPDATE $tabella record $record - $linea
";
}
}
}

/****************************************************************************************/
/* connessione al database */
/****************************************************************************************/
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);

/****************************************************************************************/
/* connessione al file UNIMARC */
/****************************************************************************************/
$fp = @fopen( "$file_uniext", "r" ) or die("ERRORE! Non posso aprire il file $file_uniext");

$records=0;
echo "";

echo "";
while ( !feof($fp) )
// while( $records>=100 && $records<=999) { $linea = fgets( $fp, 1024 ); $linea = trim(chop($linea)); if ( $linea=="New record" ) { $records++; // if( $records>=1000 && $records<=4999) { // aggiunge un record alla tabella $sql="insert into cinquecentine (id) VALUES ('');"; $result = sql_query($sql,$dbi); if(!$result) { die("errore: INSERT INTO $tabella nuovo record! "); } // ricava id del record aggiunto $ultimo_id = sql_insert_id($dbi); // $ultimo_id = 1; // echo "aggiunto record $ultimo_id "; if ($bgcolor==$bgcolor1) { $bgcolor=$bgcolor2; }else{ $bgcolor=$bgcolor1; } // echo "$records - $ultimo_id - $linea "; // } }else{ // echo "elaboralinea "; // ricava nome e valore del campo list($campo_nome,$campo_valore)=split("=",$linea); $campo_nome = trim($campo_nome); $campo_valore = trim($campo_valore); if( (strlen($campo_nome)>2) &&
(strlen($campo_valore)>0)
)
{
elaboralinea($bgcolor, $ultimo_id, $linea);
}
// echo "$linea
";
}
}
echo "
";
echo "
";
/****************************************************************************************/
/* chiude connessione al file UNIMARC */
/****************************************************************************************/
fclose( $fp );

/****************************************************************************************/
/* chiude connessione al database */
/****************************************************************************************/
sql_logout($dbi);
?>