zoukankan      html  css  js  c++  java
  • php处理行业分类数据

     实现步骤:

    1.将excel表格存储为后缀名为 .csv格式的文件;

    2.将.csv格式文件导入到mysql数据库中;

    3.通过条件查询将所需要的数据查出并导入另一个数据表中;

    下面是一些php片段:

    <?php
        mysql_connect("localhost", "root", "root") or
            die("Could not connect: " . mysql_error());
        mysql_select_db("test");
        mysql_query("SET NAMES 'utf8'");
        $result = mysql_query("SELECT col2, col5, col6 FROM category where col2!=''");
        
        echo "INSERT INTO `qy_category` (`catid`, `moduleid`, `catname`, `catdir`,`linkurl`,`parentid`, `arrparentid`, `child`, `arrchildid`, 
    `listorder`, `seo_title`, `seo_keywords`, `seo_description`) VALUES "; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //printf ("ID: %s Name: %s", $row["col2"], $row["col5"]); //echo "<br />"; $result2 = mysql_query("SELECT col3, col5, col6 FROM category where col3 like '".$row["col2"]."%'"); $arr = array(); while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { if($row2["col6"]=='') $row2["col6"]=$row2["col5"]; printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', '%s', '%s', 0, '%s', '%s', '%s', '%s', '%s')",$row2["col3"],$row2["col5"],
    $row2["col3"],$row2["col3"],$row["col2"],'0,'.$row["col2"].','.$row2["col3"],$row2["col3"],$row2["col3"],$row2["col5"],$row2["col5"],$row2["col6"]); echo ",<br />"; $arr[]=intval($row2["col3"]); } $arrchildid = intval($row["col2"]).','.implode(',',$arr); if($row["col6"]=='') $row["col6"]=$row["col5"]; printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', 0, 0, 1, '%s', '%s', '%s', '%s', '%s')",$row["col2"],$row["col5"],
    $row["col2"],$row["col2"],$arrchildid,$row["col2"],$row["col5"],$row["col5"],$row["col6"]); echo ",<br />"; } mysql_free_result($result); mysql_free_result($result2); ?>

    下面的代码对分类进行了SEO:

    <?php
        mysql_connect("localhost", "root", "root") or
            die("Could not connect: " . mysql_error());
        mysql_select_db("test");
        mysql_query("SET NAMES 'utf8'");
        $result = mysql_query("SELECT col2, col5, col6 FROM category where col2!=''");
        
        echo "INSERT INTO `qy_category` (`catid`, `moduleid`, `catname`, `catdir`,`linkurl`,`parentid`, 
    `arrparentid`, `child`, `arrchildid`, `listorder`, `seo_title`, `seo_keywords`, `seo_description`) VALUES "; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //printf ("ID: %s Name: %s", $row["col2"], $row["col5"]); //echo "<br />"; $result2 = mysql_query("SELECT col3, col5, col6 FROM category where col3 like '".$row["col2"]."%'"); $row["col2"] = intval($row["col2"])*100; $arr = $arrname = array(); while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { $result3 = mysql_query("SELECT col4, col5 FROM category where col4 like '".$row2["col3"]."%'"); $des = array(); while ($row3 = mysql_fetch_array($result3, MYSQL_ASSOC)) { if(intval($row3["col4"])==intval($row2["col3"])*10) continue; $des[] = $row3["col5"]; } $row2["col3"] = intval($row2["col3"])*10; if($row["col2"]==$row2["col3"]) continue; if($row2["col6"]=='') $row2["col6"]=$row2["col5"]; if(count($des)>0) { $row2["col6"]=$row2["col6"].",包括".implode(",",$des)."等具体分类"; printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', '%s', '%s', 0, '%s', '%s', '%s', '%s', '%s')",$row2["col3"],
    $row2
    ["col5"],$row2["col3"],$row2["col3"],$row["col2"],'0,'.$row["col2"].','.$row2["col3"],$row2["col3"],$row2["col3"],
    $row2["col5"],implode(" ",$des),$row2["col6"]); } else { printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', '%s', '%s', 0, '%s', '%s', '%s', '%s', '%s')",
    $row2["col3"],$row2["col5"],$row2["col3"],$row2["col3"],$row["col2"],'0,'.$row["col2"].','.$row2["col3"],$row2["col3"],
    $row2["col3"],$row2["col5"],$row2["col6"],$row2["col6"]); } echo ",<br />"; $arr[]=intval($row2["col3"]); $arrname[]= $row2["col5"]; } $arrchildid = intval($row["col2"]).','.implode(',',$arr); if($row["col6"]=='') $row["col6"]=$row["col5"]; if(count($arrname)>0){ $row["col6"]=$row["col6"].",包括".implode(",",$arrname)."等分类"; printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', 0, 0, 1, '%s', '%s', '%s', '%s', '%s')",$row["col2"],
    $row["col5"],$row["col2"],$row["col2"],$arrchildid,$row["col2"],$row["col5"],implode(" ",$arrname),$row["col6"]); } else { printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', 0, 0, 1, '%s', '%s', '%s', '%s', '%s')",$row["col2"],
    $row["col5"],$row["col2"],$row["col2"],$arrchildid,$row["col2"],$row["col5"],$row["col6"],$row["col6"]); } echo ",<br />"; } mysql_free_result($result); mysql_free_result($result2); ?>

    以上的代码只获取了大类和中类,没有使用门类和小类,不过将小类的描述加入到其中了。

    获取门类代码:

    <?php
        mysql_connect("localhost", "root", "root") or
            die("Could not connect: " . mysql_error());
        mysql_select_db("test");
        mysql_query("SET NAMES 'utf8'");
        $result = mysql_query("SELECT col1, col5, col6 FROM category where col1!=''");
        
        echo "INSERT INTO `qy_category` (`catid`, `moduleid`, `catname`, `catdir`,`linkurl`,`parentid`, 
    `arrparentid`, `child`, `arrchildid`, `listorder`, `seo_title`, `seo_keywords`, `seo_description`) VALUES "; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $pos = strpos($row["col6"], "~"); $begin = substr($row["col6"],$pos-2,2); $end = substr($row["col6"],$pos+3,2); if(!$pos){ $pos = strpos($row["col6"], "和"); $begin = substr($row["col6"],$pos-2,2); $end = substr($row["col6"],$pos+3,2); if(!$pos){ continue; $pos = strpos($row["col6"], "大"); $begin = $end = substr($row["col6"],$pos-2,2); } } $begin = intval($begin); $end = intval($end); $arrname = $arr = array(); for($i = $begin; $i<= $end; $i++){ if(strlen($i)==1) $i = '0'.$i; $result2 = mysql_query("SELECT col2, col5, col6 FROM category where col2 like '".$i."%'"); while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { $arrname[] = $row2["col5"]; //$arr[] = intval($row2["col2"])*100; } } $row["col2"] = ord($row["col1"]); //$arrchildid = intval($row["col2"]).','.implode(',',$arr); $arrchildid = intval($row["col2"]); if($row["col6"]=='') $row["col6"]=$row["col5"]; if(count($arrname)>0){ //$row["col6"]=$row["col6"].",包括".implode(",",$arrname)."等分类"; $search = substr($row["col6"],$pos-2,7); $row["col6"] = str_replace($search, implode(",",$arrname).'等', $row["col6"]); printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', 0, 0, 1, '%s', '%s', '%s', '%s', '%s')",
    $row["col2"],$row["col5"],$row["col2"],$row["col2"],$arrchildid,$row["col2"],$row["col5"],implode(" ",$arrname),$row["col6"]); } else { printf ("('%s', 4, '%s', '%s', 'list.php?catid=%s', 0, 0, 1, '%s', '%s', '%s', '%s', '%s')",
    $row["col2"],$row["col5"],$row["col2"],$row["col2"],$arrchildid,$row["col2"],$row["col5"],$row["col6"],$row["col6"]); } echo ",<br />"; } mysql_free_result($result);

    完结。

  • 相关阅读:
    从上往下打印二叉树
    栈的压入、弹出序列
    连续子数组的最大和
    链表中环形的入口
    1月项目痛点
    problem:vue组件局部刷新,在组件销毁(destroyed)时取消刷新无效问题
    重点:浏览器的工作原理
    12月中旬项目中出现的几个bug解决方法的思考
    12月中项目问题复盘之对项目进度把控的反思
    problem: vue之数组元素中的数组类型值数据改变却无法在子组件视图更新问题
  • 原文地址:https://www.cnblogs.com/zl0372/p/php_36.html
Copyright © 2011-2022 走看看