⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 marcimport.class.php

📁 开源MARC数据处理
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		if(!$recordSet) echo "<br><br><b>Error at $number!!</b><br><br>"; 
		else {
	
	
				
				$holdingsid = Polerio::TimeAndRandom();			
				$rand = Polerio::TimeAndRandom();  
				$accessno = "POL-".substr($rand,strlen($rand)-8,8);
				
				$sql ="insert into $holdings ($holdings_col[id],$holdings_col[holdingsid],$holdings_col[barcode],";
				$sql.="$holdings_col[location],$holdings_col[accessno], $holdings_col[type])";
				$sql.=" values('$holdingsid','$accessid','$accessid','1','$accessno','1')";
				//echo "<br><br>$sql<br><br>";
				$rs = $dbconn->Execute($sql);				

				
				

				$marc_field_explode = explode(chr(30),$marc_data);
				$marc_field_explode_count = count($marc_field_explode);

				print"<tr><td>";
				print"<br>"._PMLENCODINGTHEFOLLOWINGTAGSINPHPMYLIBRARYSTARTS."!<br><br>";
		
		
				$i = 1;
				$tags_i = 1;
				$marc_fields_count = ((strlen($marc_field_explode[0])-24)/12);

				print"000 > ".substr($marc_field_explode[0],1,22)."<br>";
				while ( $i <= $marc_fields_count )
					{
				
					$tags = substr($marc_field_explode[0],23,strlen($marc_field_explode[0]));
					$tags = substr($tags,$tags_i,3);
		
           			$tag_value = $marc_field_explode[$i];
					$tag_value = ereg_replace(31,"$",$tag_value);
					print"$tags > $tag_value<br>";
					$tags_i = $tags_i + 12;
					$i++;

				if(($tags == "245") || ($tags=="100")  || ($tags=="260")|| ($tags=="500") || ($tags=="630") || ($tags=="650")) 
				{


				if($tags=="100") $prefix="author";
				if($tags=="245") $prefix="title";				
				if($tags=="260") $prefix="publisher";
				if($tags=="630") $prefix="subject";
				if($tags=="650") $prefix="subject";
				if($tags=="500") $prefix="notes";

				if($prefix=="author") 
				{
				$TblPrefBibCol = $TblAuthorBibCol;
				$TblPrefBib = $TblAuthorBib;
				$TblPrefIdxCol = $TblAuthorIdxCol;
				$TblPrefIdx = $TblAuthorIdx;		
				} elseif($prefix=="title") 
				{
				$TblPrefBibCol = $TblTitleBibCol;
				$TblPrefBib = $TblTitleBib;
			
				$TblPrefIdxCol = $TblTitleIdxCol;
				$TblPrefIdx = $TblTitleIdx;		
				} elseif($prefix=="publisher") 
				{
				$TblPrefBibCol = $TblPublisherBibCol;
				$TblPrefBib = $TblPublisherBib;
				$TblPrefIdxCol = $TblPublisherIdxCol;
				$TblPrefIdx = $TblPublisherIdx;		
				} elseif($prefix=="subject") 
				{
				$TblPrefBibCol = $TblSubjectBibCol;
				$TblPrefBib = $TblSubjectBib;
				$TblPrefIdxCol = $TblSubjectIdxCol;
				$TblPrefIdx = $TblSubjectIdx;		
				} elseif($prefix=="notes") 
				{
				$TblPrefBibCol = $TblNotesBibCol;
				$TblPrefBib = $TblNotesBib;
				$TblPrefIdxCol = $TblNotesIdxCol;
				$TblPrefIdx = $TblNotesIdx;		
				}	

				$any = $tag_value;
				$any = Phpmylibrary::convertit($any);
				
				$anyid = Polerio::TimeAndRandom();
				$marcid = $_marcid;
				
				$query = "INSERT INTO $TblPrefIdx ($TblPrefIdxCol[id], $TblPrefIdxCol[any]) values ('$anyid','$any')";
				$recordSet = $dbconn->Execute($query);						
				//print"<br>$query\n";

								
				$query = "INSERT INTO $TblPrefBib ($TblPrefBibCol[anyid], $TblPrefBibCol[bibid], $TblPrefBibCol[id]) values ($anyid,$marcid,$anyid)";
				//print"<br>$query";				
				$recordSet = $dbconn->Execute($query);		
				
				
				// always active
				$query = "INSERT INTO $TblAnyIdx ($TblAnyIdxCol[id], $TblAnyIdxCol[any]) values ('$anyid','$any')";
				$recordSet = $dbconn->Execute($query);		
				
				//print"<br>$query\n";
				
				
				$query = "INSERT INTO $TblAnyBib ($TblAnyBibCol[anyid], $TblAnyBibCol[bibid], $TblAnyBibCol[id]) values ($anyid,$marcid,$anyid)";
				$recordSet = $dbconn->Execute($query);								
				
				//print"<br>$query\n";
				
				}

			} 
			
			

			}

		
		print"<br>"._PMLENCODINGTHEFOLLOWINGTAGSINPHPMYLIBRARYDONE."!<br>";
		print"</td></tr>";


		print"<tr><td>";

		print"<br>"._PMLEVALUATINGRECORDNO.".$number "._PMLDONE."!";

		print"</td></tr></table><br><br>";		
		
$record_no++;
$Media = $catid;

}

$GetModuleURL = Polerio::GetModuleURL();
$Med = Polerio::Med();
print"<br>"._PMLALLEXPLODINGDONE."!<br><br>";
$_again = $GetModuleURL;
$_again .= $Med;
$_again .= "_a=1";
print""._PMLYOUCANBOWSEARCHTHEMARCINFOYOUIMPORTED.".<br>";
print"<a href =\"$_again\">"._PMLAGAIN."!</a><br><br>";

}


} // end function


function SearcIsisToMarc($searchin="",$isistomarc="")
{
$isistomarc = explode(",",$isistomarc);
$z=0;
$zs=1;
while($z <= (count($isistomarc)-1))
{
$d = explode("=",$isistomarc[$z]);
$zd[$zs] = $d[0];
$dz[$zs] = $d[1];
if($searchin==$zd[$zs]) $s = $dz[$zs];
$zs++;
$z++;
}
print"$s";
return $s;
}

function IsisToMarc($isistomarc="",$marc_data="")
{
$marc_data = ereg_replace("\n","",$marc_data);
$marc_data = ereg_replace(13,"",$marc_data);
$marc_data = explode(chr(30),$marc_data);
$body['0'] = substr($marc_data[0],0,24);
$marc_data1 = substr($marc_data[0], 24,strlen($marc_data[0]));
print"$marc_data1   ".strlen($marc_data1)."   ".strlen($marc_data1)/12;
$i=1;
$j=0;
$sama = array();
while($i <= (strlen($marc_data1)/12))
{
$thistag = substr($marc_data1,$j,3);
$attach = substr($marc_data1,$j+3,9);
if(File::SearcIsisToMarc($thistag,$isistomarc)) {
$outputthis[$i] = File::SearcIsisToMarc($thistag,$isistomarc).$attach;	
} else $outputthis[$i] = $thistag.$attach;	
//$outputthis[$i] = $thistag.$attach;	
//print "<br>".$outputthis[$i];
$j=$j+12;	
$i++;	
}

$marc_data[0] = $body[0].implode("",$outputthis);
$prin = implode(chr(30),$marc_data);
$prin = File::Add2Space($prin);
return $prin;
}


function Add2Space($marc="")
{
$emarc = explode(chr(30),$marc);
$newmarc=array();
$i=0;
while($i <= count($emarc))
{
$newmarc[$i] = "00".$emarc[$i];
if($i==0) $newmarc[$i] = substr($newmarc[$i],2,strlen($newmarc[$i]));
$i++;
}
$prin = implode(chr(30),$newmarc);
return $prin;	
}




} // end class


?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -