转眼毕业一年多,由“青涩”的大学生渐渐变得“成熟”。
然而 令人“欢欣鼓舞”的2008过去了 我却变的一无所有。
远大的理想已渐渐发黄
身边的朋友已渐渐远去
甚至连憧憬的爱情都让我觉得原来越远。
2009 我已经变的一无所有了~~
转眼毕业一年多,由“青涩”的大学生渐渐变得“成熟”。
然而 令人“欢欣鼓舞”的2008过去了 我却变的一无所有。
远大的理想已渐渐发黄
身边的朋友已渐渐远去
甚至连憧憬的爱情都让我觉得原来越远。
2009 我已经变的一无所有了~~
很多人错误地认为ASP是简单、低效的代名词,认为ASP是低能的,不足挂齿的,也很简单,一学就会,一琢磨就精通。
有人讲ASP不安全,写ASP的程序的时候如果严格按照书写安全的代码的规范去写,写出来的程序也没有什么理由不安全。那些人说ASP不安全,好像PHP、JSP的程序就不会出现SQL Injection似的。
有人讲ASP不高效,真的想要高效的话你可以结合COM,在Win32平台下COM的效率Java是永远追不上的。单纯讲速度有什么意义呢?Java的速度绝对算不上高,论速度的话好多技术方案的速度都比Java高,这一点学Java的人最清楚了,可是谁在乎过这一点了?Java的胜出绝对不是因为它的速度。抛开具体的应用环境单纯地讲速度是不理性的。
有人讲ASP这个不能做,那个做不了,功能很局限。其实只要你明白Web的原理的话你就会明白,写ASP程序表面看是在玩一种脚本语言, (更多…)
许多ASP程序员都有过执行数据库查询,然后将查询结果用HTML表格的形式显示出来的经历。通常我们应该是这么做的:
<%
‘Create connection / recordset
‘Populate data into recordset object
%>
<TABLE>
<% Do While not rs.EOF %>
<TR>
<TD ><%=rs(“Field1”)% ></TD>
<TD ><%=rs(“Field2”)% ></TD>
.
</TR>
<% rs.MoveNext
Loop %>
</TABLE>
如果查询结果很多,服务器解释你的ASP script将花费大量的时间,因为有许多的Response.Write语句要处理. 如果你将输出的全部结果放在一个很长的字符串里(从<TABLE >到</TABLE >),那么服务器只需解释一遍Response.Write语句,速度就会快得多 . 微软公司里的一些能干的家伙已经将想法变成了现实. (注意,这是一个ADO 2.0以上才有 的特性. 如果你还在使用以前版本的话,请升级到最新版) (更多…)
真的很感谢网络这个东西,还有那些无私的将自己的知识经验奉贤出来的人们!
一日正在上班,朋友的QQ图标就激烈的闪亮起来,一看,原来是论坛出现问题了,具体报错如下:
Table '.Tablenameposts' is marked as crashed and should be repaired
提示说论坛的帖子表posts被标记有问题,需要修复。我记得以前也出现过类似的问题,但是只要点击Phpmyadmin上的repair按纽就自动修复了,但是这次很绝,什么都没有.于是赶快上网查找原因。最终将问题解决。解决方法如下:
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:
myisamchk -c -r ../data/tablename/posts.MYI
然后myisamchk 工具会帮助你恢复数据表的索引。好象也不用重新启动mysql,问题就解决了。 (更多…)
WP-PageNavi是WP的一个优秀的分页导航插件,相信70-80%的P友,一定在用这个插件。
翠花,上图,这个插件的显示效果,是十分的漂亮的。
不过,作为骨灰级的WP狂热者,相信一定不愿意在自己WP站上,被一堆的插件插来插去的。你一定是以最精简作为你的终身目标的,或许你不是,但我是!
废话少说,今天,在这里分享一个将分页导航功能直接写入WP主题的方法,希望对各位骨灰级朋友有用。
第一步,找到所用模板中的function.php文件。打开后。将下边代码用力的插进去!注意!要插在<?php………………?>中省略号处,别插错地方了!
function wp_pagenavi($before = '', $after = '') {
global $wpdb, $wp_query;
if (!is_single()) {
$request = $wp_query->request;
$posts_per_page = intval(get_query_var('posts_per_page'));
$paged = intval(get_query_var('paged'));
$pagenavi_options = get_option('pagenavi_options');
$numposts = $wp_query->found_posts;
$max_page = $wp_query->max_num_pages;
if(empty($paged) || $paged == 0) {
$paged = 1;
}
$pages_to_show = intval($pagenavi_options['num_pages']);
$pages_to_show_minus_1 = $pages_to_show-1;
$half_page_start = floor($pages_to_show_minus_1/2);
$half_page_end = ceil($pages_to_show_minus_1/2);
$start_page = $paged - $half_page_start;
if($start_page <= 0) {
$start_page = 1;
}
$end_page = $paged + $half_page_end;
if(($end_page - $start_page) != $pages_to_show_minus_1) {
$end_page = $start_page + $pages_to_show_minus_1;
}
if($end_page > $max_page) {
$start_page = $max_page - $pages_to_show_minus_1;
$end_page = $max_page;
}
if($start_page <= 0) {
$start_page = 1;
}
if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
$pages_text = str_replace("%CURRENT_PAGE%", $paged, $pagenavi_options['pages_text']);
$pages_text = str_replace("%TOTAL_PAGES%", $max_page, $pages_text);
echo $before.'<div >'."n";
switch(intval($pagenavi_options['style'])) {
case 1:
if(!empty($pages_text)) {
echo '<span >'.$pages_text.'</span>';
}
if ($start_page >= 2 && $pages_to_show < $max_page) {
if(!empty($pagenavi_options['dotleft_text'])) {
echo '<span >'.$pagenavi_options['dotleft_text'].'</span>';
}
}
previous_posts_link($pagenavi_options['prev_text']);
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $paged) {
$current_page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['current_text']);
echo '<span >'.$current_page_text.'</span>';
} else {
$page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['page_text']);
echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'">'.$page_text.'</a>';
}
}
next_posts_link($pagenavi_options['next_text'], $max_page);
if ($end_page < $max_page) {
if(!empty($pagenavi_options['dotright_text'])) {
echo '<span >'.$pagenavi_options['dotright_text'].'</span>';
}
$last_page_text = str_replace("%TOTAL_PAGES%", $max_page, $pagenavi_options['last_text']);
echo '<a href="'.clean_url(get_pagenum_link($max_page)).'" title="'.$last_page_text.'">'.$last_page_text.'</a>';
}
break;
case 2;
echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="get">'."n";
echo '<select size="1" = this.options[this.selectedIndex].value;">'."n";
for($i = 1; $i <= $max_page; $i++) {
$page_num = $i;
if($page_num == 1) {
$page_num = 0;
}
if($i == $paged) {
$current_page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['current_text']);
echo '<option value="'.clean_url(get_pagenum_link($page_num)).'" selected="selected" >'.$current_page_text."</option>n";
} else {
$page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['page_text']);
echo '<option value="'.clean_url(get_pagenum_link($page_num)).'">'.$page_text."</option>n";
}
}
echo "</select>n";
echo "</form>n";
break;
}
echo '</div>'.$after."n";
}
}
}
第二步:找到你想加入分页导航的页面,如首页、分类页等。再用力的插入如下代码:
第三步:找到你的CSS文件,再次用力的插入如下代码:
/* Page Navigation
---------------------------------------------*/
.navigation {
padding-top:15px;
padding-bottom:2px;/*visivility-IE*/
border:1px solid #fff;
}
.alignleft {
float:left;
}
.alignright {
float:right;
}
.aligncenter, div.aligncenter {
display: block;
margin:0 auto;
}
.wp-pagenavi {
text-transform:uppercase;
}
.wp-pagenavi a {
text-decoration:none;
border:1px solid #b3b3b3;
color:#212236;
margin:2px;
padding:2px 6px;
}
.wp-pagenavi a:hover {
color:#fff;
background-color:#9c0;
}
.wp-pagenavi span {
border:1px solid #b3b3b3;
margin:2px;
padding:2px 6px;
}
.wp-pagenavi span.pages {
color:#777;
margin-left:0;
color:#000;
word-spacing:0.2em;
}
.wp-pagenavi span.current {
color:#212236;
background-color:#e8edef;
}
至此,WP分页导航大法修炼成功。注意:功夫一定要做足,一定要插三次,一次都不能少!
转自:毒龙的世界
迎接新年,迎接元旦 祝福短信 祝福语 特别策划
http://sms.king51.com
1. 我的网站首页被收录了,但搜索网站名称却排不到第一个,怎么办?
答:排序算法非常复杂。我们的目标,即在于通过算法改进,让用户以最小的成本,搜索到所需要的信息。这个过程中还是会有各种各样不尽如人意的地方。我们会非常欢迎您把您遇到的困惑和问题,反馈给我们。我们的工程师,对每一个问题都会有细致的跟踪和分析,以期将之最终解决。百度搜索结果页下方的搜索框右侧,有“与百度对话”链接,您可以在那里提交您的问题,以协助我们改进。我们一直在改进搜索算法,以使得百度的搜索结果更加符合用户的搜索需求。
2. 搜索某关键词,我的网页在百度搜索结果的排序短期内变化剧烈,这正常吗?
答:通常情况下,这是正常的变化。一般来说,有三类原因导致排序发生变化:
A. 特定关键词所涉及的您的网页发生了变化
B. 特定关键词所涉及的其他网页发生了变化
C. 百度的排序算法发生了变化
3. 搜索某关键词,我的网页在百度的排序位置,和在其他搜索引擎的排序位置,差异非常大,这正常吗?
答:通常情况下,这是正常的现象。因为不同搜索引擎的算法,都是不同的。
4. 我请一些“SEO”来为我的网站或者网页做优化,会有什么后果?
答:合理的搜索引擎优化,参见百度的“给站长的建站指南”。
外界很多打着SEO旗号的公司或者个人,也许能为您的网站带来短期的排序收益,但是,这会使您将面临更大损失的风险。在您把网站资源交托给别人之后,很多SEO甚至会利用您的资源进行他们个人的运营项目,最终导致您的利益受损。
不要因为SEO们以下的说法,而冒险将自己的网站托付给他们随意处置:
A. 我和百度的人很熟,想怎么干就怎么干,没风险
B. 我是搜索引擎专家,对百度的算法一清二楚,玩玩火也不要紧
C. 我把xxx、yyy、zzz这些关键词都搞到第一了,所以我是牛人啊
有当搜索引擎、站长、互联网用户之间,能有一种默契的利益均衡,这个行业才会顺畅发展。竭泽而渔式的网站建设,只会使您与用户、与搜索引擎越来越远。搜索引擎与站长之间,宜和谐发展,共同拥抱美好的愿景。
以下是百度给出的一些建站建议:
1. 站点结构宜简洁明晰
答:不要让你的用户一进你的站点就因为纷繁s芜杂而不知所措。从某种意义上来说,百度的Spider也是一个相对特殊的访客而已。每一个子域名,每一个目录,都最好有明确的内容区隔,避免不同子域名或者目录对相同内容的互相串用。
2. 创造属于您自己的独特内容
答:百度更喜欢独特的原创内容。所以,如果您的站点内容只是从各处采集复制而成,很可能不会被百度收录。
3. 保持经常的更新
答:经常的更新,蜘蛛程序就会经常的光顾;而长期不更新的网站,蜘蛛到访会日趋减少。
4. 谨慎设置您的友情链接
答:如果您网站上的友情链接,多是指向一些垃圾站点,那么您的站点可能会受到一些负面影响。参与各类以SEO为目的的自助链接活动,很可能“过犹不及”。
5. 把自己的网站做成常青树
答:如果没有搜索引擎,你的网站仍然访客盈门,那么你的网站就属于“常青树”了。面向用户做网站,而不要面向搜索引擎做网站,这是成为常青树网站的真谛。
放下过去,活在当下。
既然不能山盟海誓,那就放下过去吧,给自己也给他人一个机会。我又何苦这样苦苦的的执着!
人生中有很多无奈,但你却不得不做出这样或是那样不得已的选择
我也在学着慢慢变得理智,慢慢成熟。
我承认-我是被你宠坏了,将来也不会有人像你如此般的纵容我了。
希望将来一切都好。
ASP文件:
程序代码
read xml 第 条记录:
| 书名 | 出版社 | 价格 |
XML文件《data.xml》:
程序代码
48 Dreamweaver 上海科技出版社img/dw.jpg 61 Flash 铁道出版社
img/flash.jpg 48 Firweorks 教育出版社
img/fw.jpg
==========================
js读取::
程序代码
var source= new ActiveXObject('Microsoft.XMLDOM'); //创建一个MSXML解析器实例
source.async=false;
source.load("xml.xml") //载入xml文档。
nodes = source.documentElement;
var ItemN = source.documentElement; //设置文档元素为根节点元素
var j = ItemN.length;//获取item节点个数
var array1=new Array();
var array2=new Array();
var array3=new Array();
for(i=0;i<j;i++)
{
array1[i]=ItemN[i].selectSingleNode("name").text;//获取name内容
array2[i] = ItemN[i].selectSingleNode("publisher").text;//获取publisher内容
array3[i] = ItemN[i].selectSingleNode("img").text;//获取img内容
}
现有10W条数据,Access数据库保存
通过正常提取:
程序代码
<%
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db2.mdb")
conn.Open connstr
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from people order by id desc"
rs.Open sql,conn,1,1
Do While Not rs.EOF
Response.write rs("id")&" | "
rs.MoveNext
Loop
%>
http://myhhe.cn/test/getrows/show1.asp
耗时3,250.000毫秒,总测试平均值在3秒左右
使用存储过程提取:
程序代码
<%
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2.mdb")
cmd.ActiveConnection = conn
cmd.CommandText = "Select * from people order by id desc"
Set rs = cmd.Execute
Do While Not rs.EOF
Response.write rs("id")&" | "
rs.MoveNext
Loop
%>
http://myhhe.cn/test/getrows/show2.asp
耗时2,187.500毫秒,总测试平均值在2秒左右
以上两种均不能彻底解决执行时间漫长的问题,主要原因即是循环每次都须向数据库抽取记录(Command速度相对较快)
那么使用GetRows()方法呢:
程序代码
<%
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2.mdb")
cmd.ActiveConnection = conn
cmd.CommandText = "Select * from people order by id desc"
Set rs = cmd.Execute
rsArray = rs.GetRows()
For i = 0 To UBound(rsArray, 2)
Response.Write rsArray(0, i)&" | "
Next
%>
http://myhhe.cn/test/getrows/show3.asp
耗时187.500毫秒,总测试平均值在0.2秒左右
GetRows()方法是将数据从 Recordset 复制到二维数组中,这是一个二维数组,第一个下标标识字段,第二个则标识记录号
所以rsArray = rs.GetRows()
rsArray(0, 0)就表示记录集第一行的第一字段值
rsArray(1, 0)就表示记录集第一行的第二字段值
数组的数据是保存在内存中的,这就从根本上解决了每次显示记录还需向数据库请求的麻烦。
另外,关于GetRows()的详细介绍和用法,这里有份内容参考
http://www.51windows.net/pages/Ado/mdmthgetrows.htm
http://www.blueidea.com/tech/program/2005/2853.asp
大家应该都知道 Recordset 有个 GetRows 属性,但是真正使用的不多,我也是最近才用的!汗……
其实这个属性很简单,就是把数据集输出到一个数组中。但是实用性可不小,在这里我举一个例子说明一下GetRows的使用方法,大家举一反三能想到更多的用法!
比如一个分类的表 T_Cate,结构和数据如下:
ID | Title | Intro
—————————————–
1 | 新闻 | 这里是新闻
2 | 教程 | 这里是教程
3 | 下载 | 这里是下载
好了,表建立好了,数据也有了,下面我们就要用到GetRows咯!
Dim Rs_Cate
Dim Arr_Cate
Set Rs_Cate=Conn.ExeCute("SELECT ID,Title,Intro FROM T_Cate ORDER BY ID ASC")
Arr_Cate=Rs_Cate.GetRows
Set Rs_Cate=Nothing
好了表数据已经导出到数组了!下面我们将遍历这个数组
Dim Arr_CateNumS,Arr_CateNumI
Arr_CateNumS=Ubound(Arr_Cate,2) '得到数组中数据的下标
For Arr_CateNumI=0 To Arr_CateNumS
Response.Write("ID:"&Arr_Cate(0,Arr_CateNumI)&" | 标题:"&Arr_Cate(1,Arr_CateNumI)&" | 介绍:"&Arr_Cate(2,Arr_CateNumI)&"<br>")
Next
呵呵,好了,输出的数据为:
ID:1 | 标题:新闻 | 介绍:这里是新闻
ID:2 | 标题:教程 | 介绍:这里是教程
ID:3 | 标题:下载 | 介绍:这里是下载
好了,具体就写这么多吧!文采不行,如果大家有什么不明白的,多用用就可以了,呵呵