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);
完结。
php处理行业分类数据的更多相关文章
- 中国网络安全行业分类及全景图2019H1
中国网络安全行业分类及全景图2019H1 概述 中国网络安全行业分类及全景图: 一级分类包含了端点安全.网络安全.应用安全.数据安全.身份与访问管理和安全管理六个一级分类,这些一级分类分别对应了网 ...
- TreeView递归绑定无限分类数据
TreeView递归绑定无限分类数据 实现一个动态绑定,无限级分类数据时,需要将数据绑定到TreeView控件,分类表的结构是这样的: 字段 类型 Id int ParentId int Name N ...
- python3 爬取boss直聘职业分类数据(未完成)
import reimport urllib.request # 爬取boss直聘职业分类数据def subRule(fileName): result = re.findall(r'<p cl ...
- SAP QA32 做使用决策系统报错:分类数据的不一致性=>交易终止
SAP QA32 做使用决策系统报错:分类数据的不一致性=>交易终止 QA32,对如下检验批做处理,系统报错, 试图使用MSC3N去显示这个批次主数据,同样报错, 原因在于批次的分类数据产生后, ...
- Python图表数据可视化Seaborn:2. 分类数据可视化-分类散点图|分布图(箱型图|小提琴图|LV图表)|统计图(柱状图|折线图)
1. 分类数据可视化 - 分类散点图 stripplot( ) / swarmplot( ) sns.stripplot(x="day",y="total_bill&qu ...
- sklearn6_生成分类数据
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- seaborn分类数据可视化
转载:https://cloud.tencent.com/developer/article/1178368 seaborn针对分类型的数据有专门的可视化函数,这些函数可大致分为三种: 分类数据散点图 ...
- Pandas分类数据
通常实时的数据包括重复的文本列.例如:性别,国家和代码等特征总是重复的.这些是分类数据的例子. 分类变量只能采用有限的数量,而且通常是固定的数量.除了固定长度,分类数据可能有顺序,但不能执行数字操作. ...
- 【笔记】Pandas分类数据详解
[笔记]Pandas分类数据详解 Pandas Pandas分类数据详解|轻松玩转Pandas(5) 参考:Pandas分类数据详解|轻松玩转Pandas(5)
随机推荐
- 背包系列练习及总结(hud 2602 && hdu 2844 Coins && hdu 2159 && poj 1170 Shopping Offers && hdu 3092 Least common multiple && poj 1015 Jury Compromise)
作为一个oier,以及大学acm党背包是必不可少的一部分.好久没做背包类动规了.久违地练习下-.- dd__engi的背包九讲:http://love-oriented.com/pack/ 鸣谢htt ...
- 【构造】【贪心】hdu6090 Rikka with Graph
给你n个点,让你连m条边,使得任意两两点对之间的最短路的和最小(两点若不可达,最短路记作n). 初始时ans=n*n*(n-1). 先尽量连成菊花图,每连一次让答案减小2*((n-2)*(i-1)+( ...
- 【并查集】Gym - 101128B - Black Vienna
有26张牌(A~Z),其中三张被拿走了.其余23张被分发给了两个人.给你m次调查结果,一次调查结果是对其中一个人询问一对牌,他会告诉你他有这对牌的几张(0~2).问你有多少种被拿走的牌的组合. 三重循 ...
- 【枚举约数】Gym - 101412A - Ginkgo Numbers
给你一堆定义,问你在那个定义下,<p,q>是不是素数.其实那堆定义都不用管,只要看最下面给你的提示即可. 根据,只要把m^2+n^2当一个整体,去枚举(p^2+q^2)的约数即可,然后再枚 ...
- 【Splay】Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) B. Cards Sorting
Splay要支持找最左侧的最小值所在的位置.类似线段树一样处理一下,如果左子树最小值等于全局最小值,就查左子树:否则如果当前节点等于全局最小值,就查当前节点:否则查右子树. 为了统计答案,当然还得维护 ...
- 【分类讨论】【spfa】【BFS】Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game
那个人第一步肯定要么能向下走,要么能向右走.于是一定可以判断出上下是否对调,或者左右是否对调. 然后他往这个方向再走一走就能发现一定可以再往旁边走,此时就可以判断出另一个方向是否对调. 都判断出来以后 ...
- bzoj 4627: [BeiJing2016]回转寿司
4627: [BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店.在这里,一盘盘寿司通过传送带依次呈现在小Z眼前.不同的寿 司带给小Z的味觉感受是不 ...
- [转]Spring MVC 事务配置
Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法: <tx:advice/>就是告诉事务管理器:怎么做 ...
- 既然有文件后缀名,为何还需要MIME类型?
作者:Vincross链接:https://www.zhihu.com/question/60495696/answer/204530120来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- 关于智能硬件设备shell安全设计
问题描述: 在对某些智能硬件设备进行测试时,发现有些设备直接提供了Linux shell,并且登录账号默认是root权限!在登录到设备后,在bin目录下可以看到很多命令行程序,这些程序大部门用户用不到 ...