Mercurial > hg > LGMap
view get_coordinates_for_listed_books.php @ 0:57bde4830927
first commit
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 24 Mar 2015 11:37:17 +0100 |
parents | |
children | de2c442b6cbb |
line wrap: on
line source
<?php include_once('../interface/Lib_mb_utf8.php'); include_once('../interface/config.php'); set_time_limit(0); ini_set('memory_limit', '-1'); $link_mysql = mysql_connect($mysql_server, $mysql_user, $mysql_password); mysql_query("SET NAMES utf8"); if (!$link_mysql) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db($mysql_database, $link_mysql); if (!$db_selected) { die ('Can\'t use foo : ' . mysql_error()); } function readCsvFile($fileName){ $fp=fopen("../search/csv_files/".$fileName,"r"); $data=fgetcsv($fp); $columnNameMappingArray=['BOOK_ID','LEVEL1','LEVEL2', 'Name','PERIOD','TimeSpan:begin','TimeSpan:end','PAGE','SECTION','CONTENT', 'Description']; //columns from input array/file $columnNameArray=['Address','ADMIN_TYPE','LEVEL1','LEVEL2', 'Name','PERIOD','TimeSpan:begin','TimeSpan:end','Longitude','Latitude', 'PAGE','SECTION','CONTENT', 'BOOK_ID','CHGIS_ID','1820_ID','1911_ID','CBDB_ID','Description']; //columns for output array/file (for map.php) $columnNameArray=array_flip($columnNameArray); //key, value swap in order to keep the order of the columns after merge $bookArray=array(); $count=0; $line=0; while(!feof($fp)){ $data=fgetcsv($fp); if(sizeof($data)<sizeof($columnNameMappingArray)){ continue; } ///$bookId=$data[0]; foreach($columnNameMappingArray as $idx=>$newName){ //use column names as the array indices (instead of 0,1,2,... as from $data) $bookInfo[$newName]=$data[$idx]; } $bookId=$bookInfo['BOOK_ID']; $coordinateArray=getCoordinateFromDatabase($bookId); foreach($coordinateArray as $coordinate){ //merge a record from $booArray and ots cooresponding coordinateArray $bookArray[$count]=array_merge($bookInfo,$coordinate); $bookArray[$count]=array_merge($columnNameArray,$bookArray[$count]); $count++; } } fclose($fp); return $bookArray; } function writeCsvFile($fileName,$bookArray){ $columnNameArray=['Address','ADMIN_TYPE','LEVEL1','LEVEL2', 'Name','PERIOD','TimeSpan:begin','TimeSpan:end','Longitude','Latitude', 'PAGE','SECTION','CONTENT', 'BOOK_ID','CHGIS_ID','1820_ID','1911_ID','CBDB_ID','Description']; $fp=fopen("./datasets/".$fileName,"w"); fputcsv($fp,$columnNameArray); foreach($bookArray as $book){ fputcsv($fp,$book); } fclose($fp); } function getCoordinateFromDatabase($bookId){ $query="SELECT place_name AS Address, admin_type AS ADMIN_TYPE, x AS Longitude, y AS Latitude, chgis_id AS CHGIS_ID, 1820_id AS 1820_ID, 1911_id AS 1911_ID, cbdb_id AS CBDB_ID FROM coordinates_books WHERE books_id='".$bookId."'"; $result = mysql_query($query); $coordinateArray=array(); while ($row = mysql_fetch_assoc($result)) { $coordinateArray[]=$row; } return $coordinateArray; } $fileName=$_GET['file']; $name=$_GET['name']; $bookArray=readCsvFile($fileName); writeCsvFile($fileName,$bookArray); header("Location: map.php?mode=1&file=".$fileName."&name=".$name); ?>