You are here:  » Cannot redeclare myrecordhandler()


Cannot redeclare myrecordhandler()

Submitted by jp_solspot on Tue, 2011-03-08 18:27 in

This is probably something super basic...but I am using Magic parser to go thru an xml file and place into a database table. I am quering data out of a database (locationID, Lat,Long) and then dynamically placing into the xml url. Magic parser queries the first url (56 rows) but then when it needs to move to a new dynamic url..it fails with Cannot redeclare myrecordhandler()

<?php
 
do {
 
$LocationID=$row_buoy_info3['LocationID'];
 
$Latitude=$row_buoy_info3['lat'];
 
$Longitude=$row_buoy_info3['long'];
 
$rss "http://www.worldweatheronline.com/feed/premium-weather-v2.ashx?key=XXXX&feedkey=XXXXXXX&format=xml&extra=utcDateTime,localObsTime,isDayTime&q=".$Latitude.",".$Longitude."";
 
?>

<?php
mysql_select_db
($database_ConnSwell,$link);
  function 
myRecordHandler($record)
  {
    global 
$counter;
    global 
$link;
    global 
$LocationID;
    
$hhtime=$record["UTCTIME"]+0000;
    
$dd=str_pad($hhtime,4,0,int);
    
$date=$record["UTCDATE"];
    
$sw1=''.$date.' '.$dd.'';
    
$timestamp strtotime($sw1);
    
$sql "INSERT INTO tblXXXXX SET
    LOCATIONID ='"
.mysql_escape_string($LocationID)."'......
  }
   MagicParser_parse(
$rss,"myRecordHandler","xml|DATA/WEATHER/HOURLY/");
 // MagicParser_parse(
$rss,"xml|DATA/WEATHER/HOURLY/");
?>

<?php
 
} while ($row_buoy_info3 mysql_fetch_assoc($buoy_info3)); 
?>

Submitted by support on Tue, 2011-03-08 18:30

Hi jp,

Make sure that your myRecordHandler function is outside the loop - that will be all it is!

<?php
  function myRecordHandler($record)
  {
    global $counter;
    global $link;
    global $LocationID;
    $hhtime=$record["UTCTIME"]+0000;
    $dd=str_pad($hhtime,4,0,int);
    $date=$record["UTCDATE"];
    $sw1=''.$date.' '.$dd.'';
    $timestamp = strtotime($sw1);
    $sql = "INSERT INTO tblXXXXX SET
    LOCATIONID ='".mysql_escape_string($LocationID)."'......
  }
 do {
 $LocationID=$row_buoy_info3['LocationID'];
 $Latitude=$row_buoy_info3['lat'];
 $Longitude=$row_buoy_info3['long'];
 $rss = "http://www.worldweatheronline.com/feed/premium-weather-v2.ashx?key=XXXX&feedkey=XXXXXXX&format=xml&extra=utcDateTime,localObsTime,isDayTime&q=".$Latitude.",".$Longitude."";
?>
<?php
   mysql_select_db($database_ConnSwell,$link);
   MagicParser_parse($rss,"myRecordHandler","xml|DATA/WEATHER/HOURLY/");
 // MagicParser_parse($rss,"xml|DATA/WEATHER/HOURLY/");
?>
<?php
 } while ($row_buoy_info3 = mysql_fetch_assoc($buoy_info3));
?>

Cheers,
David.
--
MagicParser.com

Submitted by jp_solspot on Tue, 2011-03-08 21:35

THats it...simple!