0

我正在制作一个系统,我们可以在其中读取 excel 、csv 格式的文件。并且有国家代码和城市代码之类的列,国家只有一个值,城市可以用逗号分隔,如

国家代码 CityCode

230 91、92、01-03、1-3

我的数据库中有很多这样的行。我的最终输出应该是

最终代码 CountryCode 城市代码

23091 230 91

23092 230 92

23001 230 01

23002 230 02

23003 230 03

2301 230 1

2302 230 2

2303 230 3

我得到了像上面这样的正确输出。并将上传的文件移动到我服务器上的目录中。

我正在使用 http://phpexcel.codeplex.com/上给出的库

我正在使用这个函数来获取像 01-03 和 1-3 这样的代码范围如下

function getRangeOfCodes($mystring)

    {

                     $findme   = '-';

         $pos = strpos($mystring, $findme);

         if($pos === false)
         {
             $length   = strlen($mystring);
             $range    = range(preg_replace("/[^0-9]+/", "",$mystring),preg_replace("/[^0-9]+/", "",$mystring));
         }
         else
         {
             $ct       = explode("-",$mystring);
             $length   = strlen($ct[0]);
             $range    = range(preg_replace("/[^0-9]+/", "",$ct[0]), preg_replace("/[^0-9]+/", "",$ct[1]));
         }

         $result['range']  = $range;
         $result['length'] = $length;
         return $result;
    }

错误地我在文件中进行了更改并且忘记修剪代码并且带有空格的城市代码被读取为

最终代码 CountryCode 城市代码

23091 230 91

230092 230 092

230001 230 001

230002 230 002

230003 230 003

23001 230 01

23002 230 02

23003 230 03

那么有什么办法可以在从数据库下载这些代码时,通过给出路径将其与目录中上传的表格进行比较,这样如果城市代码与国家代码对应的城市代码不匹配,那么我可以为此显示错误。

可能是我在问一个错误或不可行的问题。但我想确定我的输出。因此,如果可能的话,任何人都可以帮助我,那么我应该采用什么标准方法来做到这一点。

4

1 回答 1

1

IMO 解决问题是可能的,但方法错误。如果您可以阅读excel,那么您可以直接从中输出。那为什么要放到数据库里呢?其次,您的数据库表未标准化。

如果您有 excel 表,请正确上传。双重检查是不值得的。

于 2013-03-07T08:54:46.697 回答