Re: 4 hours staring - can't see clear.
| From: | Lars Torben Wilson | Date: | Wed, 11 Jun 2003 23:27:35 +0000 |
| Subject: | Re: 4 hours staring - can't see clear. | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-151169@lists.php.net to get a copy of this message | ||
On Wed, 2003-06-11 at 15:55, jtjohnston wrote:
> Can someone see clearly through what I'm trying to do please?
> I've been at this for 4 hours trying to see where I have gone wrong.
[snipped]
Might something like this work?
<?php
error_reporting(E_ALL);
$var = array (
'TI' => array (
'Description' => 'Title: (TI)',
'Option' => 'ST',
),
'AU' => array (
'Description' => 'Author(s): (AU)',
'Option' => 'AU',
),
'PB' => array (
'Description' => 'Publication Information: (PB)',
'Option' => 'BT',
),
'SOM' => array (
'Description' => 'Source (Bibliographic Citation): (SO)',
'Option' => 'JR',
)
);
$filename = 'test_enreg.txt';
$fh = fopen($filename, 'r');
$fileContents = fread($fh, filesize($filename));
$lines = explode("Enregistrement", $fileContents);
$dbtable = 'test_table';
foreach($lines as $line)
{
$line = stripslashes($line);
$line = str_replace("\r", "", $line);
$newlines = explode("\n", $line);
// Init to keep clean--if you really need them as separate scalars,
// try extract()ing $record, although they'll get overwritten on
// each iteration.
$record = array('ST' => '', 'AU' => '',
'BT' => '', 'JR' => '');
$found = false; // Just a flag to avoid empty SQL statements.
foreach($newlines as $newline)
{
if (empty($newline))
{
continue;
}
list($key, $val) = explode(':', $newline);
if (isset($var[$key]['Option']))
{
// Flag that we got one this time round.
$found = true;
// Get the translated name from $var.
$record[$var[$key]['Option']] = trim($val);
}
}#end of foreach($newlines as $newline)
if ($found)
{
$sql = "INSERT INTO $dbtable (ST, AU, BT, JR) VALUES
('{$record['ST']}', '{$record['AU']}',
'{$record['BT']}',
'{$record['JR']}')";
echo "$sql\n";
}
}#end of foreach($lines as $line)
?>
--
Torben Wilson <torben@php.net> +1.604.709.0506
http://www.thebuttlesschaps.com http://www.inflatableeye.com
http://www.hybrid17.com http://www.themainonmain.com
-----==== Boycott Starbucks! http://www.haidabuckscafe.com ====-----