网站设计异论:如何避免网站设计过度娱乐化?
342【编者按】一种声音总是很危险,而艺术设计更应该警惕只有一种声音,网站设计自然属于艺术设计之一。为此,我们开设“艺术设计异论”专题,讨论关于网站设计的不同论点、声音。 在商业世界、互联网世界、文化世界乃至现实世界,一股娱乐化的倾向,正在蔓延。 难道不...
查看全文全站搜索
网站上有很多jq的三级联动,主要是城市地区数据,那我们怎么获取到这些数据并且保存在我们的数据表中,
这是国家统计局的数据,下面我们用PHP程序将他们采集下来
1.数据采集
public function countryaddress() {
$ModelObj = D(‘Areas’);
$baseUrl = ‘http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/’;
//第一级
$firstDetail = file_get_contents($baseUrl . ‘index.html’);
$firstPattern = ‘/<td><a href=\'(\d+).html\’>(.*?)<br\/><\/a><\/td>/i’;
preg_match_all($firstPattern, $firstDetail, $firstResult);
$urllist = $firstResult[1];
$namelist = $firstResult[2];
foreach ($namelist as $k => $v) {
$iscun = $ModelObj->where(array(‘name’ => iconv(‘GB2312’, ‘UTF-8’, $v)))->find();
if (!$iscun) {
$adddata = array(
‘code’ => $k + 1, //省级编码暂时默认以排序号来定
‘name’ => iconv(‘GB2312’, ‘UTF-8’, $v),
‘parent_id’ => 0,
);
$first_re = $ModelObj->data($adddata)->add();
if ($first_re) {
//第二级
$secondDetail = file_get_contents($baseUrl . $urllist[$k] . ‘.html’);
$secondPattern = “/<td><a href=\'” . $urllist[$k] . “\/(\d+?)\.html\’>(\d+?)<\/a><\/td><td><a href=\'” . $urllist[$k] . “\/(\d+?)\.html\’>(.*?)<\/a>/i”;
preg_match_all($secondPattern, $secondDetail, $secondResult);
$secondUrlList = $secondResult[1];
$secondCodeList = $secondResult[2];
$secondNameList = $secondResult[4];
foreach ($secondNameList as $m => $n) {
$iscun = $ModelObj->where(array(‘name’ => iconv(‘GB2312’, ‘UTF-8’, $n), ‘parent_id’ => $first_re))->find();
if (!$iscun) {
$adddata = array(
‘code’ => $secondCodeList[$m],
‘name’ => iconv(‘GB2312’, ‘UTF-8’, $n),
‘parent_id’ => $first_re,
);
$second_re = $ModelObj->add($adddata);
if ($second_re) {
//第三级
$thirdDetail = file_get_contents($baseUrl . $urllist[$k] . ‘/’ . $secondUrlList[$m] . ‘.html’);
$thirdPattern = ‘/<td>(?:<a href=\’.*?\’>)*(\d+?)(?:<\/a>)*<\/td><td>(?:<a href=\’.*?\’>)*(.*?)(?:<\/a>)*<\/td>/i’;
preg_match_all($thirdPattern, $thirdDetail, $thirdResult);
$thirdCodeList = $thirdResult[1];
$thirdNameList = $thirdResult[2];
foreach ($thirdNameList as $p => $q) {
$iscun = $ModelObj->where(array(‘name’ => iconv(‘GB2312’, ‘UTF-8’, $q), ‘parent_id’ => $second_re))->find();
if (!$iscun) {
$adddata = array(
‘code’ => $thirdCodeList[$p],
‘name’ => iconv(‘GB2312’, ‘UTF-8’, $q),
‘parent_id’ => $second_re,
);
$third_re = $ModelObj->add($adddata);
}
}
}
}
}
}
}
}
}
2.省级代码替换
/**
*
*/
public function provincereplace() {
//省级code
$provinceCode = array(
array(‘code’ => ‘110000’, ‘title’ => ‘北京市’),
array(‘code’ => ‘120000’, ‘title’ => ‘天津市’),
array(‘code’ => ‘130000’, ‘title’ => ‘河北省’),
array(‘code’ => ‘140000’, ‘title’ => ‘山西省’),
array(‘code’ => ‘150000’, ‘title’ => ‘内蒙古自治区’),
array(‘code’ => ‘210000’, ‘title’ => ‘辽宁省’),
array(‘code’ => ‘220000’, ‘title’ => ‘吉林省’),
array(‘code’ => ‘230000’, ‘title’ => ‘黑龙江省’),
array(‘code’ => ‘310000’, ‘title’ => ‘上海市’),
array(‘code’ => ‘320000’, ‘title’ => ‘江苏省’),
array(‘code’ => ‘330000’, ‘title’ => ‘浙江省’),
array(‘code’ => ‘340000’, ‘title’ => ‘安徽省’),
array(‘code’ => ‘350000’, ‘title’ => ‘福建省’),
array(‘code’ => ‘360000’, ‘title’ => ‘江西省’),
array(‘code’ => ‘370000’, ‘title’ => ‘山东省’),
array(‘code’ => ‘410000’, ‘title’ => ‘河南省’),
array(‘code’ => ‘420000’, ‘title’ => ‘湖北省’),
array(‘code’ => ‘430000’, ‘title’ => ‘湖南省’),
array(‘code’ => ‘440000’, ‘title’ => ‘广东省’),
array(‘code’ => ‘450000’, ‘title’ => ‘广西壮族自治区’),
array(‘code’ => ‘460000’, ‘title’ => ‘海南省’),
array(‘code’ => ‘500000’, ‘title’ => ‘重庆市’),
array(‘code’ => ‘510000’, ‘title’ => ‘四川省’),
array(‘code’ => ‘520000’, ‘title’ => ‘贵州省’),
array(‘code’ => ‘530000’, ‘title’ => ‘云南省’),
array(‘code’ => ‘540000’, ‘title’ => ‘西藏自治区’),
array(‘code’ => ‘610000’, ‘title’ => ‘陕西省’),
array(‘code’ => ‘620000’, ‘title’ => ‘甘肃省’),
array(‘code’ => ‘630000’, ‘title’ => ‘青海省’),
array(‘code’ => ‘640000’, ‘title’ => ‘宁夏回族自治区’),
array(‘code’ => ‘650000’, ‘title’ => ‘新疆维吾尔自治区’),
);
$ModelObj = D(‘Areas’);
foreach ($provinceCode as $k => $v) {
$ModelObj->where(array(‘name’ => $v[‘title’]))->setField(‘code’, $v[‘code’]);
}
}
3.处理级别父级代码
/**
* 处理级别父级代码
*/
public function levelandparentcode() {
$ModelObj = D(‘Areas’);
$alllist = $ModelObj->select();
foreach ($alllist as $k => $v) {
if (!$v[‘parent_id’]) {
$data = array(
‘level’ => 1,
‘parent_code’ => ‘0’,
);
} else {
$parent = $ModelObj->where(array(‘id’ => $v[‘parent_id’]))->find();
if (!$parent[‘parent_id’]) {
$data = array(
‘level’ => 2,
‘parent_code’ => $parent[‘code’],
);
} else {
$data = array(
‘level’ => 3,
‘parent_code’ => $parent[‘code’],
);
}
}
$re = $ModelObj->where(array(‘id’ => $v[‘id’]))->save($data);
}
}
4. 有了三级的数据做联动就很简单。
<form id=”searce”>
<div class=”screen-li”>
<select name=”province” id=”province”>
<option value=””>省</option>
<volist name=”province” id=”item”> <!–循环省数据–>
<option value=”{$item.code}”>{$item.name}</option>
</volist>
</select>
</div>
<div class=”screen-li”>
<select name=’city’ id=”city” >
<option value=””>市</option>
</select>
</div>
<div class=”screen-li”>
<select name=’area’ id=”area” >
<option value=””>区/县</option>
</select>
</div>
<script>
$(‘#province).change(function() {
id=$(this).val();
get_city(id)
})
function get_city(id) {
url_get_city=”{:U(‘city’)}?id=”+id
$(“#city”).load(url_get_city,{n:Math.random()});
}
$(‘#city).change(function() {
id=$(this).val();
get_area(id)
})
function get_area(id) {
url_get_area=”{:U(‘area’)}?id=”+id
$(“#area”).load(url_get_area,{n:Math.random()});
}
</script>
后台只要通过id查询出该级别下的数据就可以
【编者按】一种声音总是很危险,而艺术设计更应该警惕只有一种声音,网站设计自然属于艺术设计之一。为此,我们开设“艺术设计异论”专题,讨论关于网站设计的不同论点、声音。 在商业世界、互联网世界、文化世界乃至现实世界,一股娱乐化的倾向,正在蔓延。 难道不...
查看全文没有一种设计是简单的,包括一个按钮。 如何为企业网站设计按钮呢?我们编写了如下指南。 大胆和明亮在过去,按钮通常是灰色或其他一些暗淡的颜色。但渐渐地,设计师和商人们理解了特定设计和概念背后的含义。所以,设计必须是粗体和明亮的格式。没有必要让...
查看全文企业在经营网站的时候,为了丰富内容,一定会针对推广的产品或者是营销的业务,来不断的更新文章,文章当中的关键词也是引擎搜索的重要目标,所以在文章质量上一定要保证,同时在网站当中文章的分布归类,一定要专业。 整个网站当中的分布...
查看全文如今是互联网快速发展的时代,不懂得互联网营销的人越来越少,现在互联网营销的竞争也越来越大,这时候就需要一个优秀的站长为网站服务,提高网站的曝光率及网站关键词的排名才能给网站带来更多的流量。 一个优秀的站长需要会写代码、做程...
查看全文