<?php 
 
// This would be the format and sample conten of the data files to load 
/* countries.txt 
AF,AFG,AFGHANISTAN 
AL,ALB,ALBANIA 
BE,BEL,BELGIUM 
BZ,BLZ,BELIZE 
CM,CMR,CAMEROON 
CA,CAN,CANADA 
DK,DNK,DENMARK 
DJ,DJI,DJIBOUTI 
EC,ECU,ECUADOR 
EG,EGY,EGYPT 
 
cities.txt 
Afghanistan;Herat 
Afghanistan;KABUL 
Afghanistan;Kandahar 
Afghanistan;Mazar-i-Sharif 
Albania;TIRANA 
Belgium;Antwerp 
Belgium;Brugge 
Belgium;BRUSSELS 
Belgium;Charleroi 
Belgium;Gent 
Belgium;Kortrijk 
Belgium;La Louviïle 
Belgium;Liïle 
Belgium;Mons 
Belgium;Namur 
Belize;BELMOPAN 
Cameroon;Douala 
Cameroon;YAOUNDE 
Canada;Brampton 
Canada;Burlington  
Canada;Burnaby  
Canada;Calgary  
Canada;East York  
Canada;Edmonton  
Canada;Etobicoke  
Canada;Gloucester  
Canada;Halifax  
Canada;Hamilton  
Canada;Kitchener  
Canada;Laval  
Canada;London  
Canada;Longueuil  
Canada;Markham  
Canada;Mississauga  
Canada;Montreal  
Canada;Nepean  
Canada;North York  
Canada;Oakville  
Canada;Oshawa  
Canada;OTTAWA  
Canada;Qu�ec  
Canada;Regina  
Canada;Richmond  
Canada;Saskatoon  
Canada;Scarborough  
Canada;St Catharines  
Canada;Surrey  
Canada;Thunder Bay  
Canada;Toronto  
Canada;Vancouver  
Canada;Vaughan 
Canada;Windsor 
Canada;Winnipeg 
Canada;York 
Denmark;COPENHAGEN  
Ecuador;Ambato  
Ecuador;Cuenca  
Ecuador;Esmeraldas  
Ecuador;Guayaquil  
Ecuador;Machala  
Ecuador;Manta 
Ecuador;Milagro 
Ecuador;Portoviejo 
Ecuador;QUITO 
Ecuador;Santo Domingo de los Colorados 
Egypt;Alexandria 
Egypt;Assyt 
Egypt;Aswan 
Egypt;Banha 
Egypt;Beni-Suef 
Egypt;CAIRO 
Egypt;Damanhr 
Egypt;El-Mahalla El-Kubra 
Egypt;Faiym 
Egypt;Giza 
Egypt;Ismailia 
Egypt;Kafr-El-Dwar 
Egypt;Kena 
Egypt;Luxer 
Egypt;Mansra 
Egypt;Menia 
Egypt;Port Said 
Egypt;Shebin-El-Kom 
Egypt;Shubra-El-Khema 
Egypt;Sohag 
Egypt;Suez 
Egypt;Tanta 
Egypt;Zagazig 
*/ 
 
/*  Name: load_countries.php dbff sample 
    Author: Jerry Mattsson 
    Created/Updated july-05/oct-06 
*/ 
require_once  'dbff.php'; 
/* load file 
AF,AFG,AFGHANISTAN 
AL,ALB,ALBANIA 
DZ,DZA,ALGERIA 
.... 
into file db 
*/ 
print '<HTML><HEAD><BODY BGCOLOR="aqua">'; 
$file               = 'countries.txt'; 
$delimiter          = ','; 
$countries_file     = 'countries'; 
 
$countries_def = array ( 
   'name'    => array ('size'=>50, 'chkNN'=>true), 
   'iso2'    => array ('size'=>2,  'pk'=>1, 'UPPER'=>true), 
   'iso3'    => array ('size'=>3,  'UPPER'=>true)); 
 
$countries            = new dbff; 
$countries->file      = $countries_file; 
$countries->recdef    = $countries_def; 
$countries->changelog = FALSE; 
$countries->rectype   = 1; 
$countries->trace     = TRUE; 
 
$rec = array (); 
if ( !file_exists($file) ) { 
   print "File $file not found"; 
   exit; 
} 
// read and insert 
  $fp     = fopen($file, 'r') or die("Cannot open file $file"); 
  print 'Reading Country File<br>'; 
   while (!feof ($fp)) { 
         $str = trim(fgets($fp)); 
         if (trim($str)<>'') { 
            $arr = explode($delimiter,$str); 
        $rec = array ( ucwords(strtolower($arr[2])), $arr[0], $arr[1] ); 
        print 'Inserting '.$rec[0].' '; 
        if(!$countries->insert ($rec)) print $dbfferr.'<br>'; 
     }; 
   }; 
  fclose($fp) or die("Cannot close file $file"); 
// done 
 
print '<br>'; 
print count($countries->recs). ' Inserted<br>'; 
$countries->commit(); 
print_r($countries->errstk); 
print '</BODY></HTML>'; 
exit; 
?> 
<?php 
/*  Name: load_cities.php, dbff sample 
    Author: Jerry Mattsson 
    Created/Updated july 05 
*/ 
require_once  'dbff.php'; 
/* load file 
Afghanistan;Herat 
Afghanistan;KABUL 
Afghanistan;Kandahar 
Afghanistan;Mazar-i-Sharif 
.... 
into file db 
*/ 
print '<HTML><HEAD><BODY BGCOLOR="aqua">'; 
$file               = 'cities.txt'; 
$delimiter          = ';'; 
$countries_file     = 'countries'; 
$cities_file        = 'cities'; 
 
$countries_def = array ( 
   'name'    => array ('size'=>50, 'chkNN'=>true), 
   'iso2'    => array ('size'=>2,  'pk'=>1, 'UPPER'=>true), 
   'iso3'    => array ('size'=>3,  'UPPER'=>true)); 
 
$cities_def = array ( 
   'id'        => array ('size'=>10, 'type'=>'INT', 'pk'=>'sequence'), 
   'name'    => array ('size'=>35, 'chkNN'=>true, 'uk'=>true), 
   'country'    => array ('size'=>2,  'chkNN'=>true, 'UPPER'=>true, 'fk'=> array('COUNTRY','ISO2'))); 
 
$countries          = new dbff; 
$countries->file    = $countries_file; 
$countries->recdef  = $countries_def; 
 
$cities             = new dbff; 
$cities->file       = $cities_file; 
$cities->recdef     = $cities_def; 
$cities->rectype    = 1; 
$cities->changelog  = FALSE; 
//$cities->trace      = TRUE; 
 
$i = 0; 
if ( !file_exists($file) ) { 
   print "File $file not found"; 
   exit; 
} 
// read file 
  $fp     = fopen($file, 'r') or die("Cannot open file $file"); 
  print 'Reading City File<br>'; 
   while (!feof ($fp)) { 
         $str = trim(fgets($fp)); 
         if (!trim($str)=='') { 
            $arr = explode($delimiter,$str); 
        $cty = ucwords(strtolower(trim($arr[0]))); 
        $cntyrec = $countries->getrec($cty,0); 
        if ($cntyrec==NULL) print "Country $cty not found<br>"; 
        else { 
               $rec = array ( 0, ucwords(strtolower($arr[1])), $cntyrec[1] ); // dummy id value 
           if(!$cities->insert ($rec)) print '<br>'.$dbfferr; 
        } 
     }; 
   }; 
  fclose($fp) or die("Cannot close file $file"); 
// Done 
print '<br>'.count($cities->recs). ' Inserted<br>'; 
$cities->commit(); 
//if ($cities->errstk) print_r ($cities->errstk); 
print '</BODY></HTML>'; 
?> 
 
<?php 
/*  Name: list_countries.php dbff sample 
    Author: Jerry Mattsson 
    Created/Updated july-05/oct-06 
*/ 
require_once  'dbff.php'; 
 
print '<HTML><HEAD><BODY BGCOLOR="aqua">'; 
$countries_file     = 'countries'; 
$countries_def = array ( 'TABLE_NAME'=>'COUNTRY', 
   'name'    => array ('size'=>50, 'chkNN'=>true), 
   'iso2'    => array ('size'=>2,  'pk'=>1, 'UPPER'=>true), 
   'iso3'    => array ('size'=>3,  'UPPER'=>true)); 
 
$countries            = new dbff; 
$countries->file      = $countries_file; 
$countries->recdef    = $countries_def; 
//$countries->trace     = TRUE; 
// read and list 
$countries->select(); 
while ($c=$countries->selectget()) { 
   print 'Iso2='.$c['COUNTRY.ISO2'].' Iso3='.$c['COUNTRY.ISO3'].' '.$c['COUNTRY.NAME'].'<br>'; 
} 
print '<br>'.count($countries->recs). ' Listed<br>'; 
print_r($countries->errstk); 
print '</BODY></HTML>'; 
exit; 
?> 
<?php 
/*  Name: search_countries.php, dbff sample 
    Author: Jerry Mattsson 
    Created oct-06 
*/ 
require_once  'dbff.php'; 
 
$country_name = $city_name = NULL; 
if (isset($_POST['scountry']) && isset($_POST['country']) && !empty($_POST['country']))  
   $country_name = trim($_POST['country']); 
 
$countries_def = array ( 'TABLE_NAME'=>'COUNTRY', 'FILE_NAME'=>'countries', 
   'name'    => array ('size'=>50, 'chkNN'=>true), 
   'iso2'    => array ('size'=>2,  'pk'=>1, 'UPPER'=>true), 
   'iso3'    => array ('size'=>3,  'UPPER'=>true)); 
 
$cities_def = array ( 'TABLE_NAME'=>'CITY', 'FILE_NAME'=>'cities', 
   'id'        => array ('size'=>10, 'type'=>'INT', 'pk'=>'sequence'), 
   'name'    => array ('size'=>35, 'chkNN'=>true, 'uk'=>true), 
   'country'    => array ('size'=>2,  'chkNN'=>true, 'UPPER'=>true, 'fk'=> array('COUNTRY','ISO2'))); 
 
$countries          = new dbff; 
$countries->recdef  = $countries_def; 
$cities             = new dbff; 
$cities->recdef     = $cities_def; 
 
$c1 = $countries->select(); 
$c2 = $cities->select(); 
$c4 = $c1*$c2; 
 
print '<HTML><HEAD><BODY BGCOLOR="aqua">'; 
print    '<form name="ccsearch" action="'.$_self.'" method="post" > 
    Enter Letters or name for Country search: 
    <input  type="TEXT" name="country" id="country" size="30" value=""> 
    <input  type="SUBMIT" name="scountry" id="scountry"> 
    <br> 
    </FORM>'; 
 
Print "Reading $c1 countries and $c2 cities $c1 ($c4 possible combinations)<br>"; 
 
if (!isset($country_name) || empty($country_name)) { 
   print "No Search value entered"; 
   exit; 
} 
 
$str = NULL; 
if (!is_null($country_name)) {    /// Search country 
   $c1 = $countries->select('name',$country_name,'like'); 
   if ($c1==0) { 
      $str .= "No Country starting with $country_name found"; 
      exit; 
   } 
   while ($c=$countries->selectget()) { 
      $str .= '<br>'.$c['COUNTRY.NAME'].' '; 
      $c3 = $cities->select('country',$c['COUNTRY.ISO2']); 
      if ($c3>0) { 
         $str .= "Has $c3 City/Cities="; 
         while ($cc=$cities->selectget()) $str .= $cc['CITY.NAME'].' '; 
      } else $str .= ' Has no cities stored'; 
   } 
} 
print $str.'<br>'; 
 
print_r($countries->errstk); 
print_r($cities->errstk); 
print '</BODY></HTML>'; 
exit; 
?> 
<?php 
/*  Name: search_cities.php dbff sample 
    Author: Jerry Mattsson 
    Created oct-06 
*/ 
require_once  'dbff.php'; 
 
if (isset($_POST['scity']) && isset($_POST['city']) && !empty($_POST['city']))  
  $city_name = trim($_POST['city']); 
 
$countries_def = array ( 'TABLE_NAME'=>'COUNTRY', 'FILE_NAME'=>'countries', 
   'name'    => array ('size'=>50, 'chkNN'=>true), 
   'iso2'    => array ('size'=>2,  'pk'=>1, 'UPPER'=>true), 
   'iso3'    => array ('size'=>3,  'UPPER'=>true)); 
 
$cities_def = array ( 'TABLE_NAME'=>'CITY', 'FILE_NAME'=>'cities', 
   'id'        => array ('size'=>10, 'type'=>'INT', 'pk'=>'sequence'), 
   'name'    => array ('size'=>35, 'chkNN'=>true, 'uk'=>true), 
   'country'    => array ('size'=>2,  'chkNN'=>true, 'UPPER'=>true, 'fk'=> array('COUNTRY','ISO2'))); 
 
$countries          = new dbff; 
$countries->recdef  = $countries_def; 
$cities             = new dbff; 
$cities->recdef     = $cities_def; 
 
$c1 = $countries->select(); 
$c2 = $cities->select(); 
$c4 = $c1*$c2; 
 
print '<HTML><HEAD><BODY BGCOLOR="aqua">'; 
print    '<form name="ccsearch" action="'.$_self.'" method="post" > 
    Enter Letters or name for City search: 
    <input  type="TEXT" name="city" id="city" size="30" value=""> 
    <input  type="SUBMIT" name="scity" id="scity"> 
    <br> 
    </FORM>'; 
 
Print "Reading $c1 countries and $c2 cities $c1 ($c4 possible combinations)<br>"; 
 
if (!isset($city_name) || empty($city_name)) { 
   print "No Search value entered"; 
   exit; 
} 
 
$str = NULL; 
/// Search city 
$c3 = $cities->select('name',$city_name,'like'); 
if ($c3==0) { 
   $str .= "No City starting with $city_name found"; 
} else { 
   while ($cc=$cities->selectget()) { 
      $str .=  '<br>City named: '.$cc['CITY.NAME'].' '; 
      $c1 = $countries->select('iso2',$cc['CITY.COUNTRY']); 
      if ($c1>0) { 
         $str .= "Exists in "; 
         while ($c=$countries->selectget()) $str .= $c['COUNTRY.NAME'].' '; 
      } else $str .= ' Has no corresponding country!'; 
   } 
} 
print $str.'<br>'; 
 
print_r($countries->errstk); 
print_r($cities->errstk); 
print '</BODY></HTML>'; 
exit; 
?> 
 
 |