帝国ECMS联动整合方法

作者:monface 发布时间:November 26, 2009 分类:帝国ecms

原先论坛有人发过1.02及1.03的版本,但整合方法不知道是有意还是无意,很多人搞了不成功,这里提供更新的1.04版本整合方法,并且把utf8转成了gbk的,以方便大家。(附件里有UTF8的原版,一并提供)

1、把附件里build-gbk文件中的data_china.js和selects.js拷到/d/js目录下准备调用。

2、管理会员字段-增加如下三个字段:

字段名:pro 标识:地区(省) 输入及投稿表单替换html代码都填:<select name="pro"></select>
字段名:city 标识:地区(市) 输入及投稿表单替换html代码都填:<select name="city"></select>
字段名:area 标识:地区(县) 输入及投稿表单替换html代码都填:<select name="area"></select>

其他采用系统默认设置即可

重要:修改新增加的这三个字段,你会看到输入及投稿表单替换html代码内容已经不是上面填写的内容了,需要重新修改改为上述内容即可,很多人不成功问题就出在这里(你可以改完再回去看有没有变化,没变化就对了)。

以下参照tlerbao网友的教程,我也不费力写了,没有错误了照搬就是,不过我加了地区默认,下面代码是没有设置默认地区的,没有的大家自己参照修改自己需要的默认地区吧,原文 http://bbs.phome.net/ShowThread/?threadid=65662&forumid=13


第三步,管理系统模型 - 修改该系统模型 - 把刚才新添加的三个字段设置为录入项等属性,并且勾选自动生成表单模版,录入和投稿都要选。

第四步,还是修改系统模型 ,这时候把下面已经生成的录入表单模版代码复制出来到你习惯的编辑器中编辑,比如DW或Editplus,在顶部增加JS调用代码,这时候就是要调用从build文件中提取的JS文件,你是不是已经放到你的站点目录了呢,那么记住你的路径,添加如下代码:


XML/HTML代码

  1. <script type="text/javascript" src="/d/js/js/selects.js"></script>  
  2. <script type="text/javascript" src="/d/js/js/data_china.js"></script>   

然后在代码尾部增加如下代码,这是一段PHP代码+JS代码,用来判断是添加信息还是编辑信息的,添加信息的时候显示请选择地区,那么编辑信息的时候当然要读取数据库中已经添加的地区设置喽。

 

第五步,将代码粘贴回去,然后提交,从此以后千万不能再勾选自动生成表单模版了,不然你还要重新修改,提交完成。

 


XML/HTML代码

  1. <?  
  2. if(empty($addr[pro]))   
  3. {   
  4. ?>  
  5.   
  6. <script type="text/javascript">  
  7. var s = selects;   
  8. //获取对象   
  9. var p = document.getElementsByName('pro')[0];//省   
  10. var c = document.getElementsByName('city')[0];//市   
  11. var a = document.getElementsByName('area')[0];//区   
  12. //绑定数据   
  13. s.bind(p,province);   
  14. s.bind(c,city);   
  15. s.bind(a,area);   
  16. //确定从属关系   
  17. s.parent(p,c);   
  18. s.parent(c,a);   
  19. //设置默认值   
  20. </script>  
  21. <?  
  22. }   
  23.   
  24. else   
  25. {   
  26. ?>  
  27. <script type="text/javascript">  
  28. var s = selects;   
  29. //获取对象   
  30. var p = document.getElementsByName('pro')[0];//省   
  31. var c = document.getElementsByName('city')[0];//市   
  32. var a = document.getElementsByName('area')[0];//区   
  33. //绑定数据   
  34. s.bind(p,province);   
  35. s.bind(c,city);   
  36. s.bind(a,area);   
  37. //确定从属关系   
  38. s.parent(p,c);   
  39. s.parent(c,a);   
  40. //设置默认值   
  41. s.selected(p,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($addr[pro]))?>'});   
  42. s.selected(c,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($addr[city]))?>'});   
  43. s.selected(a,{text:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($addr[area]))?>'});   
  44. </script>  
  45. <?       
  46. }   
  47. ?>    

liandong.rar

Excel常见问题解决方法(整理中请指正)

作者:monface 发布时间:November 25, 2009 分类:计算机&网络

文件损坏

如果文件不能编辑或打印(2/2)

1.将文件另存为SYLY格式再打开.

阅读剩余部分...

ESET NOD32 latest escalation ID [16 November, 2009]

作者:monface 发布时间:November 16, 2009 分类:ESET

EAV-24107923 – 84ap8ea763 >> ess
EAV-24115551 – r8xepfuev5 >> eav
EAV-23688853 – d8axctvm4d >> ess
EAV-23688901 – 8mmkta5snx >> ess
EAV-23688904 – sfunmvene8 >> ess
EAV-23688909 – v7bsa64fxr >> ess
EAV-23688915 – 8jrsr822h6 >> ess
EAV-23688884 – sd2u33xbas >> ess
EAV-23688763 – cr3jaanrmb >> ess
EAV-23722706 – tbmmutuuaf >> ess
EAV-23722706 – tbmmutuuaf >> ess
EAV-23688766 – vk8k4u2mdk >> ess
EAV-23688771 – m5ejrck86p >> ess

sql语句中order by 排序原则

作者:monface 发布时间:November 15, 2009 分类:服务器

ORDER BY 的语法如下:

SELECT "栏位名"
FROM "表格名"
[WHERE "条件"]
ORDER BY "栏位名" [ASC, DESC]

[] 代表 WHERE 是一定需要的。不过,如果 WHERE 子句存在的话,它是在 ORDER BY 子句之前。 ASC 代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出。如果两者皆没有被写出的话,那我们就会用 ASC。

我们可以照好几个不同的栏位来排顺序。在这个情况下, ORDER BY 子句的语法如下(假设有两个栏位):

ORDER BY "栏位一" [ASC, DESC], "栏位二" [ASC, DESC]

若我们对这两个栏位都选择由小往大的话,那这个子句就会造成结果是依据 "栏位一" 由小往大排。若有好几笔资料 "栏位一" 的值相等,那这几笔资料就依据 "栏位二" 由小往大排。

例:

列一组数据,表名为A
id  class
1     2
2     2
3     1
4     1
5     1
6     3
查询1班和2班每班有多少个人,并按班级顺序排列
select class,count(*) from A where class in(1,2) group by class order by class

sql里的order by和group by的区别

作者:monface 发布时间:November 15, 2009 分类:服务器

order by  是按字段排序
group by  是按字段分

      order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。
     
      group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。
      
什么是“聚合函数”?
   像sum()、count()、avg()等都是“聚合函数”
   使用group by 的目的就是要将数据分类汇总。

   一般如:
          select 单位名称,count(职工id),sum(职工工资) form [某表]
          group by 单位名称
          这样的运行结果就是以“单位名称”为分类标志统计各单位的职工人数和工资总额。

   在sql命令格式使用的先后顺序上,group by 先于 order by。
      
   select 命令的标准格式如下:
      
      SELECT select_list    
      [ INTO new_table ]    
      FROM table_source    
      [ WHERE search_condition ]    
      [ GROUP BY group_by_expression ]    
      [ HAVING search_condition ]    
      [ ORDER BY order_expression [ ASC | DESC ] ]

这两个是很像.
order by是按指定的列的升序或降序来给查询结果排序,
它不需要查询结果中出现order by的栏位.
更改Order by里的栏位只会影响查询结果的顺序,而不影响查询出的记录总数,和每条记录的内容.

group by是按指定的列对满足Where条件的所有记录分组,并对组内的一些数值型栏位计算出每组的一个统计指标,如求和、求个数、求平均值、求最大值、求最小值、、、、、、、
它对查询结果有个要求:查询结果中的出现的栏位必须是Group by中栏位的子集。
更改Group by里栏位的顺序不会对查询结果有任何影响;
但是更改Group by的栏位,会对查询得到的记录数量,以及各个汇总函数的结果造成影响。


 

sql语句Group By用法一则
如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为:   

SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"   

在我们的示范上,   

Store_Information 表格
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999

我们就打入, SELECT store_name, SUM(Sales)    FROM Store_Information GROUP BY store_name   

结果:   

store_name SUM(Sales)
Los Angeles $1800
San Diego $250
Boston $700

当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,除了有包括函数的栏位外,我 们都需要将其放在 GROUP BY 的子句中


SUM


返回表达式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于数字列。空值将被忽略。


A. 在聚合和行聚合中使用 SUM

下列示例显示聚合函数和行聚合函数之间的区别。第一个示例显示只提供汇总数据的聚合函数,第二个示例显示提供详尽数据和汇总数据的行聚合函数。



USE pubs

GO
-- Aggregate functions
SELECT type, SUM(price), SUM(advance)
FROM titles
WHERE type LIKE '%cook'
GROUP BY type
ORDER BY type
GO

下面是结果集:



type                                                               

------------ -------------------------- -------------------------- 
mod_cook     22.98                      15,000.00                  
trad_cook    47.89                      19,000.00                  

(2 row(s) affected)

USE pubs
GO
-- Row aggregates
SELECT type, price, advance
FROM titles
WHERE type LIKE '%cook'
ORDER BY type
COMPUTE SUM(price), SUM(advance) BY type

下面是结果集:



type         price                      advance                    

------------ -------------------------- -------------------------- 
mod_cook     19.99                      0.00                       
mod_cook     2.99                       15,000.00                  

             sum
             ==========================
             22.98                      
                                        sum
                                        ==========================
                                        15,000.00                  

type         price                      advance                    
------------ -------------------------- -------------------------- 
trad_cook    20.95                      7,000.00                   
trad_cook    11.95                      4,000.00                   
trad_cook    14.99                      8,000.00                   

             sum
             ==========================
             47.89                      
                                        sum
                                        ==========================
                                        19,000.00                 

(7 row(s) affected)

B. 计算多列的组合计

下例计算每类书籍的价格和预付款总和。



USE pubs

GO
SELECT type, SUM(price), SUM(advance)
FROM titles
GROUP BY type
ORDER BY type
GO

下面是结果集:



type                                                               

------------ -------------------------- -------------------------- 
business     54.92                      25,125.00                  
mod_cook     22.98                      15,000.00                  
popular_comp 42.95                      15,000.00                  
psychology   67.52                      21,275.00                  
trad_cook    47.89                      19,000.00                  
UNDECIDED    (null)                     (null)                     

(6 row(s) affected)
<h1><a name="_count"></a>COUNT</h1><p>返回组中项目的数量。</p><p>COUNT(*) 返回组中项目的数量,这些项目包括 NULL 值和副本。</p><p>COUNT(ALL <em>expression</em>) 对组中的每一行都计算 <em>expression</em> 并返回非空值的数量。</p><p>COUNT(DISTINCT <em>expression</em>) 对组中的每一行都计算 <em>expression</em> 并返回唯一非空值的数量。</p><h5>示例</h5><h6>A. 使用 COUNT 和 DISTINCT</h6><p>下面的示例查找作者所居住的不同城市的数量。</p><pre><code>USE pubs
GO
SELECT COUNT(DISTINCT city)
FROM authors
GO

下面是结果集:



----------- 

16          

(1 row(s) affected)

B. 使用 COUNT(*)

下面的查询查找图书和书名的总数:



USE pubs

GO
SELECT COUNT(*)
FROM titles
GO

下面是结果集:



----------- 

18          

(1 row(s) affected)

C. 与其它聚合函数一起使用 COUNT(*)

下面的示例显示可以与选择列表中的其它聚合函数结合使用的 COUNT(*)。



USE pubs

GO
SELECT COUNT(*), AVG(price)
FROM titles
WHERE advance &gt; $1000
GO

下面是结果集:



----------- -------------------------- 

15          14.42                      

(1 row(s) affected)

使用灵动标签制作滚动公告

作者:monface 发布时间:November 15, 2009 分类:帝国ecms

 


XML/HTML代码

  1. <marquee onmouseover="this.stop()" onmouseout="this.start()" direction="left" scrollamount="1">  
  2. [e:loop={栏目ID,信息条数,0,0}]   
  3. <a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqno?><?=$bqr[title]?></a>(<?=format_datetime($bqr[newstime],'Y-m-d')?>)   
  4. [/e:loop]   
  5. </marquee>  

代码大致如上,

当然你也可以select会员的公告

htaccess 二级域名绑定二级目录的问题

作者:monface 发布时间:November 10, 2009 分类:服务器

域名举例:abcde.com
------------------------------------------

操作一:addon domain 添加一级域名
domain:abcder.com
dir:abcde
pw:随意

操作二:addon domain 添加二级域名
domain:bbs.abcder.com
dir:abcde (目录与一级域名的映射目录相同)
pw:随意

这样,我们访问
http://abcde.com
http://www.abcde.com/
http://bbs.abcde.com
都会指向 /public_html/abcde 目录
------------------------------------------

建立目录结构:
/public_html/abcde/empty/
/public_html/abcde/www/
/public_html/abcde/bbs/
------------------------------------------

目的:
访问 http://abcde.com redirect到 /public_html/abcde/empty/
访问 http://www.abcde.com redirect到 /public_html/abcde/www/
访问 http://bbs.abcde.com redirect到 /public_html/abcde/bbs/

这样操作,使得一个域名对应一个目录,二级域名对应二级目录。
我们便可以方便的管理域名与目录结构了。
------------------------------------------

实现方法:
编写.htaccess,上传至网站根目录。
这里我说的网站根目录,大家很容易混淆。
网站,指的是 abcde.com 名下的网站,根目录是指 /public_html/abcde/

具体操作:
1、建立.htaccess。我们在WIN下无法建立以“.”开头的文件,我们可以上传后,在服务器端修改。
2、代码:


XML/HTML代码

  1. RewriteEngine on   
  2.   
  3. DirectoryIndex index.html index.htm index.php index.cgi   
  4.   
  5. # 访问 http://abcde.com redirect到 /public_html/abcde/empty/   
  6. RewriteCond %{HTTP_HOST} ^abcde.com$   
  7. RewriteCond %{REQUEST_URI} !^/empty/   
  8. RewriteCond %{REQUEST_FILENAME} !-f   
  9. RewriteCond %{REQUEST_FILENAME} !-d   
  10. RewriteRule ^(.*)$ /empty/$1   
  11. RewriteCond %{HTTP_HOST} ^abcde.com$   
  12. RewriteRule ^(/)?$ empty/index.php [L]   
  13.   
  14. # 访问 http://www.abcde.com redirect到 /public_html/abcde/www/   
  15. RewriteCond %{HTTP_HOST} ^www.abcde.com$   
  16. RewriteCond %{REQUEST_URI} !^/www/   
  17. RewriteCond %{REQUEST_FILENAME} !-f   
  18. RewriteCond %{REQUEST_FILENAME} !-d   
  19. RewriteRule ^(.*)$ /www/$1   
  20. RewriteCond %{HTTP_HOST} ^www.abcde.com$   
  21. RewriteRule ^(/)?$ www/index.php [L]   
  22.   
  23. # 访问 http://bbs.abcde.com redirect到 /public_html/abcde/bbs/   
  24. RewriteCond %{HTTP_HOST} ^bbs.abcde.com$   
  25. RewriteCond %{REQUEST_URI} !^/bbs/   
  26. RewriteCond %{REQUEST_FILENAME} !-f   
  27. RewriteCond %{REQUEST_FILENAME} !-d   
  28. RewriteRule ^(.*)$ /bbs/$1   
  29. RewriteCond %{HTTP_HOST} ^bbs.abcde.com$   
  30. RewriteRule ^(/)?$ bbs/index.php [L]  

值得注意的几点
1、网站配置一定记得修改,例如DZ的安装路径等。有些网站的路径在后台可修改,但有的需要修改配置文件,例如DZ!
2、域名前的“^”千万不能丢。
3、每个redirect,第一句和倒数第二句,虽然一样,但功能不一样,不要删,也不要调整位置。
多余的我也不解释了,照着做就行了。如果想知道原理的话,去查下301 302吧!
就到这里,谢谢了!