Wordpress数据库说明及wpdb类
下面是wp-2.0.5版的数据库结构图(E-R图)。这里仅列出了主键和外键。图中菱形表示1:n的关系,白色部分为1,黑色部分为n。
Wordpress共有10个表,按照功能大致分为四类。
下面是wp-2.0.5版的数据库结构图(E-R图)。这里仅列出了主键和外键。图中菱形表示1:n的关系,白色部分为1,黑色部分为n。
Wordpress共有10个表,按照功能大致分为四类。
xml-rpc 是一套规范及其一系列的实现,允许运行在不同操作系统、不同环境的程序基于internet进行远程过程调用。这种远程过程调用使用http作为传输协议,xml作为传送信息的编码格式。Xml-Rpc的定义尽可能的保持了简单,但同时能够传送、处理、返回复杂的数据结构。
Xml-rpc是工作在internet上的远程过程调用协议。一个xml-rpc消息就是一个请求体为xml的http-post请求,被调用的方法在服务器端执行并将执行结果以xml格式编码后返回。
本来论坛有很多常见问题的解决办法,但是很多人懒得搜索,提问方式又很笼统。
以下问题基本是已有问题的基本解决方法,所以如果你不成功可能原因有:
你的问题和这个问题不一样,
你的安装环境有问题
你的操作步骤有问题
等等……
所以尽量不要在问我原因和为什么啊?
这个汇总会在明天晚上之前整理完毕。
————–Wordpress安装,更新常见问题汇总————-
首先强调以下这次整理开始于2.63版本,所以对将来的问题我们无法预料。
我希望大家能共同提交你的常见问题的解决办法,让更多人享受WP的乐趣,谢谢。
ITIL 工具化的 成熟应用
作者:广通信达 杨志 2008-11-24 内容导航:ITIL工具化的成熟应用
IITL普及已经深入到各行各业,我们不仅仅是要学习其规范,更应注重如何应用其精华,结合工具化管理平台来提升我们的IT运维质量,唯有在实践中不断改进,才能真正实现ITIL本土化,为我们的IT运维事业服务。
Step 1:安装 WordPress 博客软件
下载和安装最新般的 WordPress (现在已经是2.6了)。使用官方提供的安装说明,我这里就不再多说了,因为官方的文档已经写得非常详细了。
Step 2:下载和安装适合 Web 2.0 的 Wordpress 主题。
WordPress 可能有着最大数量的主题,但是我们这里的目的是选择一款将成问我们 web 2.0 门户骨架的主题。关于这一点可能大家都会有很多意见和想法,但我会根据我作为 Webmaster 和最终用户的经验来作出选择。所以在选择主题时候,我都建议遵循一些简单的指导方针,是否你是为自己选择还是为别人。我会针对每条列出一些选项如对 web2.0 是必需的或者可选的。
蟑螂起源于二亿五千万年前,凭借奇特的生态习性和生理功能繁衍至今危害人类。蟑螂可携带致病的细菌、病毒、原虫、真菌及寄生蠕虫的卵,其中包括麻风、鼠疫、痢疾、腹泄、疱疖、肝炎、结核、霍乱、伤寒、炭蛆等致病的细菌 40多种,还有病毒和黄曲霉菌,蟑螂可引起多种过敏反应,分泌物还可能诱发癌症,机械携带是蟑螂传播细菌、病毒的重要方式。隔离、封闭也难以阻止蟑螂通过狭小的缝隙窜入或通过各种载体入侵到适宜生存的环境中。
德国小蠊:是住宅、餐厅办公室、医院、宾馆及其它公共场所最常见的小型蟑螂,雌虫产出的卵荚粘出的卵附于腹部末端直至将孵化时才掉落,每个卵荚所含的卵 数大约 30 ~ 40个,德國小蠊常由傢俱、纸箱、饮料箱、或旅 行包 带入新环境而孳生,夜间活动时突然受到光照射会急速逃向黑暗处 。
美洲大蠊:美洲大蠊常于餐馆、食品工厂、食品店、面包店及其它有残物的地方发生,特别嗜好甜食及啤酒等,例如常于饮料空瓶中发现,但也嗜食淀粉、浆糊等,故常咬食书籍及照片。美洲大蠊最易于厕所、垃圾堆、排水沟、污水处理场等处发现,美洲大蠊可以取食任何有机物以维持生存,偶而可于厨房中发现。
澳洲大蠊:在许多地区都是重要的家庭蟑螂,前翅前缘具黄色纵带,极易辨认,但其数量少于美洲大蠊,其栖息场所与美洲大蠊相仿,常混杂在一起。
棕带蠊:常于食品店中或住家周围垃圾堆积处、排水沟及下水道中发现,棕带蠊比美洲大蠊更喜欢温暖场所,二者外形近似,常易混淆,体型比美洲大蠊略小。
蟑螂的防治: 药物灭蟑是目前广泛采用的方法,包括熏蒸类、滞留性喷洒类、毒饵类,特别是毒饵灭蟑值得首推,在相同的用药表面积上,毒饵用药量最小 ,有效杀虫成分最少,蟑螂不易产生抗药性,对环境的不良影响也最小 不可以用打、踩等破坏蟑螂身体的方法来消灭蟑螂,因为会污染环境 ,增加蟑螂体内有害病菌或病毒传播的可能,应该用高温、冷冻、粘捕或化学方法杀灭后统一收集处理
进入wordpress后台,点击”选项”选择”撰写”在页面下面设置pop帐户及密码(具体设置方法由所选邮箱而定)更新,最重要的一部是发邮件后必须要运行一下http://你的域名/wp-mail.php才能把文章发表到博客上,必须要注意的是中文(GB2312)可能会有乱码,我试的时候有乱码,或许调成UTF8的会正常显示,由于我经常是用手机发邮件没办法改编码,所以这个功能就不实用了,只好把邮件发到邮箱,有空复制到博客。
Spring的集成几乎异常简单,只需要更改配置文件而已.
页面的代码不用动,例如
doc.simple-spring.jsp
<script language=”javascript”>var springEndPoint=”<%=request.getContextPath()%>/remoting/Spring-buffalo”;function pageMethod() { var buffalo = new Buffalo(springEndPoint); buffalo.remoteCall(“yourObject.yourMethod”,[], function(reply) { var Obj = reply.getResult(); })}</script>
web部署描述文件
自从Jesse James Garrett创造了AJAX这个名词,到现在已经过去十八个月了,AJAX几乎让Web开发彻底改头换面。在这一年半的时间里,发生了很多事情,包括Web 2.0的热炒,许多创建或使用富互联网技术公司的诞生或复苏,还有真正动态化的在线软件层出不穷。很明显,AJAX这个名词受到开发业界的广欢迎,已经真正的走入到我们生活中,Web应用程序也达到前所未有的发展。
为了使javascript代码不被窃取,我们可以将js文件编译成动态链接库(dll)文件。下面为了演示这一功能,创建了一个控件。
程序代码:http://www.cnblogs.com/Files/hblynn/SampleControlsCS.rar
一、创建一个类库项目,命名为UpdateAnimate。
二、向项目中添加引用System.Web, System.Drawing, System.Web.Extensions
三、向项目中添加一个Jscript的文件UpdatePanelAnimation.js
四、向文件中添加如下代码:
BorderAnimation = function(color)
{
this._color = color;
}
BorderAnimation.prototype =
{
animate: function(panelElement)
{
var s = panelElement.style;
s.borderWidth = ‘2px’;
s.borderColor = this._color;
s.borderStyle = ’solid’;
window.setTimeout(
function()
{
{
s.borderWidth = 0;
}
},
500);
}
}
这段代码中,包含一段临时改变UpdatePanel控件样式的方法
五、解决方案资源管理器中,右键查看UpdatePanelAnimation.js的属性,把高级中的“生成操作”属性设置成“嵌入的资源”。
六、向项目中添加一个类CustomControl
七、替换类中的代码:
using System;
using System.Drawing;
using System.Web.UI;
using System.Web;
using System.Globalization;
namespace UpdateAnimate
{
public class UpdatePanelAnimationWithClientResource : Control
{
private string _updatePanelID;
private Color _borderColor;
private [...]
用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码流的时候就乱了。解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会乱搞了。
PHP:header(‘Content-Type:text/html;charset=GB2312′);
ASP:Response.Charset(“GB2312″)
JSP:response.setHeader(“Charset”,”GB2312″);
http://blog.csdn.net/xiaobaolove/archive/2006/04/10/656860.aspx
加上设置字符编码的方法:
response.setHeader(“charset”,”gb2312″);
********************************************
看到的说明原文如下:
用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码流的时候就乱了。解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会乱搞了。
PHP:header(‘Content-Type:text/html;charset=GB2312′);
ASP:Response.Charset(“GB2312″)
JSP:response.setHeader(“Charset”,”GB2312″);
*********************
http://blog.csdn.net/ruanruoshi/archive/2006/03/31/645814.aspx
Sun为什么会搞出一个JSF,JSF为什么会是现在这个样子,我想原因是这样的。
首先,基于组件的Web开发将来会是一个趋势。自包含的组件便于IDE的处理,可以提高开发效率。
就是说JSF优于Struts/WebWork这类MVC框架的优势,在于它可以与IDE结合来自动生成代码。
而传统的纯手工编写的MVC框架,影响了开发效率。
序言:
前面我介绍了我做的.net版的ajax库(.NET下的简单AJAX处理库 ),现在要介绍的是一种开发模式:样式绑定式驱动开发。
样式驱动是我自己命名的,(我也不知道它叫什么,嘿嘿)以便区别目前的请求驱动式开发(如struts、webwork等)和事件驱动式开发(如asp.net、JSF等)。
正文:
1 简介
首先,让我们来看看传统的WEB开发流程:
·请求驱动: 最常见的一类WEB框架实现了以请求驱动的流程。一个HTTP请求近来,被一个通用的分发器Servlet
(Dispather Servlet)分析,再被分发到一个对应的应用处理器。处理器依次处理UI特有的控制逻辑,调用业务对象和处理会
话状态,准备一个模型,再转发到视图。
·事件驱动: 事件驱动框架的设计目标是将桌面UI编程中著名的事件驱动模式搬到WEB环境中来。其特征是;对于如何将
表单提交到URL、如何将URL映射到控制器这些问题它们不关心;在事件驱动的框架中,表单组件和监听器联系在一起,监听器
通过事件开调用。而且,这类框架通常不打算实现可插拔的试图技术来呈现给特定的模型对象,而是把WEB页看作一写列界面组
件的组合物,每个组件可以保持自己的状态,并且知道如何呈现自己,甚至可能使用不同界面皮肤。
从上面可以看到一个是传统的MVC架构是开发,一个是以页面为中心的快速应用开发(RAD)两者各有各的好处。
样式驱动式开发在请求驱动开发或事件驱动开发的基础上进行简单的封装,在界面层融合了以上两者概念优势,它以最前台
的界面层为基础,通过CSS样式或HTC事件绑定界面元素来执行相应后台业务,从而达到执行相应请求,处理相应的事件的目的
。
样式驱动的优势在于只需把前台元素赋予特定的样式,即可实现特殊的动能以及特定的业务处理,从而减少编码量和编译的
次数,具有“一次编写,到处绑定”的特点。比传统开发复用性更强。尤其是在AJAX大行其道的今天,在请求驱动框架或事件
驱动现有框架的基础上利用样式绑定式开发基于AJAX的应用,你会发现你的AJAX程序的开发效率会提高很多,尤其是当反复应
用同一(或相似)后台逻辑的情况会更明显,同样,样式绑定式开发对于面向服务式开发也具有很大的优势。
2 基于ASP.NET的样式驱动开发
样式驱动的操作不依赖与后台实现,asp.net的runat=server可以魔法搬地将前台元素转化为后台的元素,不过这样的转化
依赖于特定的元素和后台,比如<input type=text runat=server> 这样确实是将input元素扩展成后台可以使用的服务器元素
了,但是对于后台来讲他要在页面对应的里进行特定的处理,而且input type=text只能是input type=text也不可能扩展自己
的功能。样式驱动则可以把一切元素、控件或控件中的元素利用JS的强大功能在前台转换为你想要的功能和效果,然后再送入
原请求或自定义请求,从而弥补asp.net的一些不足,“一次编写,到处绑定”的特点也为我们省去了多个页面类写重复代码的
诸多困扰。
也许你会说不是有用户控件吗,很抱歉,用户控件跟前台严重耦合,你将它拿到一个项目中也许派不上一点用场。
那WEB控件库呢?虽然能重用,跟用户控件比不耦合了,但是局限性太强,复杂度高,我觉得叫一个普通程序员写一个带模
板项的DataGird能排序的,可以删除、修改、上移下移]可以查看详细信息的控件出来是一件很费事的事。
又有人说了,真笨,我直接拖一个DATAGRID然后再这个基础上加按纽,模板列,排序,详细连接好不好啊,还用特意做个
控件吗?有很抱歉的告诉你,如果是1000个DATAGIRD,每一个都有这些功能的一种或几种,那么你后台够写的了,即使你抽象
出一层、封装出一个专门的DataGirdBuilder类,也够复杂的,各种重载方法,晕。
那么使用样式绑定式的开发就简单了,给DataGird个排序的样式(比如CssClass=sort),后台几句代码,或者干脆不写(
你的准备比较充足),就可以了,再加个列变为删除按钮(比如其中的一个列里ItemStyle CssClass=”delbtn”),就可以了,
别的DataGrid不需要排序,那么样式去掉。而后页面类里干干静静。样式绑定后变化的元素传值到统一的业务对象进行处理,
一切都很规矩。
3 实现
利用我之前做过的AJAX库,再结合Javascript脚本构建一个这样的库不成问题。自然,跟做烧饭做菜一样,这里选料非常的
重要,这里我要选用来自Dean Edwards和Tino Zijdel的事件操作脚本库(common.js)和Neil Cro~~~~y制作的样式基本操作库(
css.js)来做好我们这道美味,噢,当然,还有大名鼎鼎的prototype.js库.
好了,,前台的制作工序基本完成。
然后就是利用我前一阵子做的AJAX库了。
假设是删除,QueryString: command=delrow&JS生成的参数……
则后台调用AjaxDelRow.cs
protected override void DoAjax()
…{
// 搜集参数
string parlist = request.Params["pars"];
string[] paritem = parlist.Split(‘|’);
Hashtable hash = new Hashtable(paritem.Length);
for(int [...]
在最近的一个项目中,有一个上传功能:上传一个cvs文件,然后解析此文件并写入数据库
由于经常需要传很大的文件,客户完成此功能往往需要40分钟,在这个过程中,页面也没有任何提示,用户体验非常不好?
为何不用ajax作一个进度条呢?
分两步完成此需求:
Ajax原意本是让人利用异步获取XML内容,以实现无刷新的网页效果
asp.net ajax已将底层内容封装
实现起来远比自写xmlhttp来的方便,至少浏览器兼容方面要强得很多
下面以一个www.asp.net的示例说明一下利用microsoft ajax library来简单异步获取xml文档的方法
1.建立一个aspx页面
html代码
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head id=”Head1″ runat=”server”>
<title>小山</title>
<link type=”text/css” href=”../../Styles/tree_css/tree.css” rel=”stylesheet”>
</head>
<body>
<form id=”Form1″ runat=”server”>
<table width=100% cellpadding=0 cellspacing=0 border=0>
<colgroup>
<col width=180 />
<col />
</colgroup>
<tr>
<td>
<div class=”TreeMenu” id=”CategoryTree” style=”width: 100%; height: 489px”>
</div>
</td>
<td>
<iframe id=furl height=20 style=”height: 497px; width: 100%;”></iframe>
</td>
</tr>
</table>
<script language=”jscript”>
function el(id)
{
return document.getElementById(id);
}
[...]
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择
1.建立一aspx页面,html代码
1.建立一aspx页面,html代码2.cs代码
using System.Data.SqlClient;
using System.IO;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
if (ID != “”)
{
GetDescriptionByID(ID);
}
}
property#region property
private string ID
{
get
{
if (Request["ID"] != null && Request["ID"].ToString() != “”)
{
return Request["ID"];
}
else
{
return “”;
}
}
}
#endregion
GetDescriptionByID#region GetDescriptionByID
private void GetDescriptionByID(string [...]
jsf的一个ajax扩展项目, 其实对于使用myfaces的用户来说还有个更的选择:使用MyFaces Sandbox 中的 InputSuggestAjax 用法如下:
1.创建一个managed bean:
Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力。
Ajax技术之中,最核心的技术就是XMLHttpRequest,它最初的名称叫做XMLHTTP,是微软公司为了满足开发者的需要,1999年在IE5.0浏览器中率先推出的。后来这个技术被上述的规范命名为XMLHttpRequest。它正是Ajax技术之所以与众不同的地方。简而言之,XMLHttpRequest为运行于浏览器中的JavaScript脚本提供了一种在页面之内与服务器通信的手段。页面内的JavaScript可以在不刷新页面的情况下从服务器获取数据,或者向服务器提交数据。XMLHttpRequest的出现为Web开发提供了一种全新的可能性,甚至整个改变了人们对于Web应用由什么来组成的看法。它可以使我们以一种全新的方式来做Web开发,为用户提供更好的交互体验。
这是采用ajax技术,刷新是肯定的,是在我们察觉不到的速度完成.XMLHTTP牺牲页面的方法,我们之所以看不见刷新,是因为所有的工作都是在牺牲页面上进行的,里面”翻江倒海”的”折腾”,我们看不见,效率上差些!
在网页中实现页面无刷新的进度条显示不是一件很麻烦的事情,但如果这个进度条要能准确反映当前事务或者复杂逻辑的执行进度,那么却并不是一件容易的事情,目前AJAX技术流行,所以本文作者试想通过AJAX来实现网页准确进度条,以銄读者。
首先应该想一个问题,复杂事务或者事务逻辑如果不按线程方式运行,运行在JAVA运行中根本无法跳过复杂事务去处理进度显示,所以我们这边很自然的想到复杂事务或者业务逻辑用多线程实现。
再想另一个问题,事务处理应该需要网页上的一系列参数信息的,那么如何获取这些参数呢,这个似乎容易想到,传一个HttpServletRequest过去就可以了。
为了进度条公用,所有的复杂事务处理都应该实现同一个接口或者抽象类,我这里用了一个接口,如下:
public interface IprogressBar {
public void execute(HttpServletRequest req,String pbid);//执行复杂事务
}
用一个实现多线程的抽象类,如下:
public abstract class AbstractProgressBar extends TimerTask implements IprogressBar {
private HttpServletRequest request;
private String pbid;
public AbstractProgressBar(){
}
//子类必须重载这个函数
public abstract void execute(HttpServletRequest req, String pbid);
public void run() {
execute(request,pbid);
}
public void setRequest(HttpServletRequest req){
this.request=req;
}
public void setPbid(String pbid){
this.pbid=pbid;
}
}
设计到具体项目不便给出代码,这里我另外写了一个测试类,也就是执行复杂事务处理的类,如下:
public class TestPB extends AbstractProgressBar{
public void execute(HttpServletRequest req, String pbid) {
String sql=”insert into temp_table(idx)values(?)”;
[...]
介绍
我的第一个简单的Chat room 是用ASP 3.0 写成的。那无外乎有二个TextBox,他们发送消息给程序变量然后显示在一个每秒刷新的页面上。在那个时代,一个真正的聊天室必须运用Java Applet或ActiveX control。不过这一切都在AJAX到来之后改变了。AJAX是一个结合了XML 和 JavaScript的异步通信机制。现在我们可以只用服务器代码和一点JavaScript 。这篇文章就是介绍如何用AJAX技术来构建一个简单的聊天室。
示例程序
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ||||||||||