分页数据查询组件

更新时间:2024-02-29 15:28发布者:名扬银河数字系统类型:前台数据查询组件

名扬银河数字官网系统的前台分页数据查询组件文档:

一、组件名称:分页数据查询组件。

二、组件作用:分页数据查询组件是专门用于网站前台的列表型页面组件,按分页方式批量调用查询网站已发布的数据表数据信息。可以设定每页调用数据记录的条数。可以联合多表查询数据记录。可以指定查询条件、指定排序方式。可以运用是否查询到数据而呈现不同的页面内容。可以获取到数据总量值,数据总页数,获取到数字序列分页码信息。

三、使用范围:仅在所在的页面中有效,在同一页面中只能放置一个分页数据查询组件。常用于网站前台页面的数据列表页中查询显示数据。

四、分页查询组件和单条或多条查询组件的写法区别:

1、两个查询组件的开头和结尾部分的名称不同。

2、查询定义区域[0]...[/0]中,分页查询组件独有一个设置项[page=当前请求的第几页 即页码]。单条或多条查询组件独有一个设置项[out=外部引用数据结果的名称]。其他的设置或定义区域项上,二者都是一样通用的。

3、分页数据查询组件必须定义[row]...[/row]区域,用于页面呈现查询的循环数据内容,结合[hasdata]...[/hasdata]区域处理更多其他可显信息。

4、分页数据查询组件独有的数据统计信息:

(1).$datatotal$ ---表示本查询结果的总记录数。

(2).$pagecount$ ---表示本查询结果数据记录的总页数。

5、分页查询组件独有的分页数字序列分页码信息:

[pagenavi] --开始定义数字序列分页码区域,页面上将呈现分页的数字序列信息,每个页码使用获取。

...这里自定义分页相关链接信息,用$i$表示计算的页码数字。其他链接参数信息需自定义,比如:<a href="/news/list-p$i$.html">$i$</a>。

[/pagenavi]--结束定义数字序列分页码区域

五、分页查询组件写法详解:

1、首先,在使用分页数据查询组件之前,请确保已设置好数据表配置代码信息(可参见【数据表配置代码】)。另外,对设计数据库表的字段名时,建议每张表中的字段名都有与其他表不同的前缀区分,可以为开发避免很多不必要的烦恼,让人一看便知是来自那张表的字段名信息,尤其是联合查询时非常实用。

2、分页数据查询组件使用[pagedata=...]...[/pagedata]方式进行定义。完整写法中,[pagedata=...]...[/pagedata]内包括的主要组成部分有四个:

  • (1).查询定义区域[0]...[/0]。必须定义的区域。

  • (2).数据输出区域[row]...[/row]。必须定义的区域。

  • (3).定义当有数据时可显的区域[hasdata]...[/hasdata]。不需要时,此区域可去掉。

  • (4).定义当无数据时可显的区域[nodata]...[/nodata]。不需要时,此区域可去掉。

3、[0]...[/0]内包括的主要组成部分有七个:

  • (1).用于当需要在本站中扩展调用其他MS SQL Server数据库的数据时,可定义调用非本站的数据库链接的对接名称[dbn=...]。不需要时,此部分可去掉。

  • (2).定义当前需要请求分页的页码[page=...]。必须定义的项,该项值使用页面动态参数获取、赋值。

  • (3).定义查询每页的记录条数[num=...]。必须定义的项。

  • (4).定义一个联合查询区域[inneron=...]...[/inneron]。不需要时,此区域可去掉。

  • (5).定义要查询的字段[get]...[/get]。必须定义的区域。

  • (6).定义查询条件区域[where]...[/where]。若无条件,可去掉此区域。

  • (7).定义排序方式区域[orderby]...[/orderby]。不需要时,此部分可去掉。

4、[get]...[/get]内包括的主要组成部分有一个:

(1).[col=字段名1]。定义要查询的字段名列表,每个字段信息都以这种方式定义。

5、[where]...[/where]内包括的主要组成部分有一个:

(1).[col=字段名1]...[/col]。定义用于查询条件的字段信息,每个查询条件的字段信息都以这种方式定义。

(1.1).查询条件字段信息[col=字段名1]...[/col]内包括的主要组成部分有三个:

  • (1.1.1).[way]比较方式[/way]。本字段值与后面的条件值的比较方式:d表示大于,x表示小于,=表示等于,d=表示大等于,x=表示小等于,like表示模糊匹配。

  • (1.1.2).[val]比较的条件值[/val]。支持固定值或接收变量值(由[req=...]定义的),可以是字符串、数字等。

  • (1.1.3).[rel]该字段与前面字段的关系[rel]。并且时用and,或时用or。如果忽略此项,默认以and方式处理。如果是第一个查询条件字段信息可直接忽略此项。

6、[orderby]...[/orderby]内包括的主要组成部分有一个:

(1).[col=字段名1=排序方式] 。定义排序字段信息,每个排序字段信息都以这种方式定义。排序方式:asc表示升序,desc表示降序。

7、分页数据查询组件的简单实例:

(1).实例名称:网站前台产品中心数据列表页的内容调用与显示。

(2).实例说明:实例中使用了分页数据查询组件功能,分页链接信息自定义处理,结合了url重写机制完成,测试数据设定为每页显示数据3条,通过超链接参数传递了产品类型id、请求分页页码page。

(3).实例解释:在前台产品中心对产品信息按产品编号pro_id倒序,也就是调用最新发布的产品显示在最前,查询获取产品类型pro_typeid=$req.tid$动态获取的参数值、已允许显示的pro_flag=1、未被删除的pro_isdel=0的产品信息,包括字段有产品编号、产品名称、产品封面图、产品描述。

(4).组件使用实例写法:

[req=tid=int]

[req=page=int]

[pagedata=product_list]

[0]

[num=3]

[page=$req.page$]

[get]

[col=pro_id][col=pro_title][col=pro_faceurl][col=pro_des]

[/get]

[where]

[col=pro_typeid][way]=[/way][val]$req.tid$[/val][/col]

[col=pro_flag][way]=[/way][val]1[/val][/col]

[col=pro_isdel][way]=[/way][val]0[/val][/col][/where]

[orderby][col=pro_id=desc][/orderby]

[/0]

<div class="prols"><div class="ul cf">

[row]

<dl><a href="/product/$pro_id$.html" title="$pro_title$" target="_blank"><dt><img src="$pro_faceurl$" alt="$pro_title$"/></dt><dd><h4>$pro_title$</h4><p class="desc">$pro_des$</p></dd></a></dl>

[/row]

</div></div>

[hasdata]

<div class="pagebar"><div class="pages">

[pagenavi]<a href="/product/list$req.tid$/p$i$/" class="pagebtn page$i$">$i$</a>[/pagenavi]

</div></div>

[/hasdata]

[nodata]<div class="nodata"> 暂无信息</div>[/nodata]

[/pagedata]

(5).分页数据查询组件使用实例的图解步骤共二步:

第一步、分页数据查询组件的写法:

分页数据查询组件使用实例的图解1

第二步、使用分页数据查询组件,调用产品数据信息到页面上显示的效果:

分页数据查询组件使用实例的图解2

分页数据查询组件使用实例的图解3

8、查询组件写法分解:

[pagedata=表名称] -----指定需要查询的数据表名称,表名、别名只支持英文字母 数字 下划线,当联合查询时须指定表别名:[pagedata=表名称=表别名]

[0]-----查询定义区域开始, [0]....[/0]为查询定义区域

[dbn=设定一个非本站的数据库链接的对接名称]-----定义可以调用非本站的数据库链接的对接名称,此名称只支持英文字母、数字、下划线;默认不使用此块定义,若有需要使用查询组件调用其他MS SQL Server 数据库数据的,可定义此块。定义此块须知:请在服务器空间站点根目录下的Web.config中,增加需要被调用的数据库的链接信息配置节点,该配置节点的名称将作为对接名称使用。具体操作可参考第六部分的内容。

[page=定义当前需要请求分页的页码]-----该项值使用页面动态参数获取、赋值。比如:[req=page=int] 》此项设置为[page=$req.page$],接收page参数的值后赋值

[num=查询条数]-----定义每页查询的记录数量,如果去掉此部分,默认为1条

[inneron=其他表名称=其他表别名] -----开始一个关联表的定义区域,定义联合其他表查询时,[data=主表名称=主表别名]主表和联合表都须定义别名使用。若不联合查询的,此区域可去掉

[jway=关联方式]-------定义关联的方式,有三种值:inner、left、right,主表与关联表的字段关系只支持值相等=的条件

[col=主表别名#主表字段名1]-------开始定义一个关联查询表之间的字段关联条件信息,多个字段时,分别使用多个[col...]..[/col]处理,举例:资讯表类型字段关联资讯类型表的类型id字段的语句为 [col=news_list#news_typeid][rel=news_type_list#type_id][/col]

[rel=关联表别名#关联表的字段名1]-------定义主表字段与所关联表的字段信息

[/col]-------结束关联一个字段的关系定义

[col=主表别名#主表字段名2]-------开始定义另一个主表字段,与关联表的字段信息的关系

[rel=关联表别名#关联表的字段名2]-------定义主表字段与所关联表的字段信息

[/col]-------结束关联一个字段的关系定义

...

[/inneron]-------结束一个关联表的定义区域

[get]-------开始定义需要查询的字段名列表区域,其中每个字段信息使用[col=字段名]进行定义,如果需要使用字段别名时,使用方式为:[col=字段名=字段别名],如果有表别名时,需要指定区分表的字段的方式:[col=表名称或表别名#字段名称],[col=表名称或表别名#字段名称=字段别名],字段名只支持英文字母 数字 下划线。比如:[get][col=new_id][col=news_title=title][col=news#news_addtime][/get]

[col=字段名1] [col=字段名2] ...-------定义需要查询的字段名列表

[/get]-------结束定义需要查询的字段名列表区域

[where]-------开始where区域,用于定义本次查询的字段条件信息,每个字段条件信息的定义方式使用[col=字段名]...[/col]。

[col=字段名1]-------开始一个查询条件的字段信息定义

[way]比较方式[/way]-------字段值与后面的条件值的比较方式,有6种方式:d表示大于,x表示小于,=表示等于,d=表示大等于,x=表示小等于,like表示模糊匹配

[val]比较的条件值[/val]-------支持具体的固定值或接收变量值(由[req=...]定义的),可以是字符串、数字等

[/col]-------结束一个查询条件的字段信息定义

[col=字段名2]-------开始一个查询条件的字段信息定义

[way]比较方式[/way]-------字段值与后面的条件值的比较方式,有6种方式:d表示大于,x表示小于,=表示等于,d=表示大等于,x=表示小等于,like表示模糊匹配

[val]比较的条件值[/val]-------支持具体的固定值或接收变量值(由[req=...]定义的),可以是字符串、数字等

[rel]该字段与前面字段的关系:并且时用and,或时用or[rel]-------定义非第一个查询条件字段的附加关系,关系方式有2种:and表示并且,or表示或

[/col]-------结束一个查询条件的字段信息定义

...

[/where]-------结束where区域的定义

[orderby] -------开始定义排序字段信息

[col=字段名1=排序方式] [col=字段名2=排序方式]... -------定义各排序字段信息,排序方式共2种:asc表示升序,desc表示降序。

[/orderby] -------结束定义排序字段信息

[/0] -----查询定义区域结束

[row] [/row] ---在分页数据查询组件[pagedata]...[/pagedata]内,用户可在此区域内处理获取查询到的数据结果,使用$字段名$方式得到指定字段数据。注意:针对某些字段的值比较特殊,需要对其处理换行的多文本内容,或多图,或图文并茂型的数据内容时,请使用[show=...]..[/show]方式处理显示内容(处理方式请见第七点内容)

[hasdata][/hasdata]---有数据时显示的信息,可使用html标签等内容。若不需要此部分,可去掉。

[nodata][/nodata]---无数据时显示的信息,可使用html标签等内容。若不需要此部分,可去掉。

[pagenavi][/pagenavi]---使用$i$代表计算后的页码数字,将$i$作为参数放入到自定义的分页链接中使用,可使用url重写机制方式,也可直接超链接传值方式page=$i$。

$datatotal$ ---若有需要可使用,表示本查询结果的总记录数。

$pagecount$ ---若有需要可使用,表示本查询结果数据记录的总页数。

[/pagedata]-----分页查询定义区域结束

六、使用查询定义区域[0]...[/0]中的[dbn=...]块,实现调用非本站的MS SQL Server 数据库数据的功能:

1、首先请配置好需要被调用的非本站的数据库的链接信息节点,请在服务器空间站点根目录下的Web.config中,增加一个数据库的链接信息配置节点,注意数据库链接信息的节点名称只支持英文字母、数字、下划线。所设定的数据库链接信息的节点名称就是[dbn=...]的对接名称。配置节点的位置在<configuration><connectionStrings>

<add name="此处设定一个数据库链接信息的节点名称" connectionString="此处设定数据库的链接信息" providerName="System.Data.SqlClient"/>

</connectionStrings>...</configuration>

2、其次请和本站数据表一样,还需要在网站系统管理后台的【数据表配置代码】,加入需要调用的数据库的数据表定义信息,配置完成后就可以在网站前后台的页面代码中应用了。关于数据表配置代码操作详情,请详见【数据表配置代码文档】。

3、配置一个非本站的数据库链接信息的节点实例:

<add name="com_product_sale_info" connectionString="server=.;database=db_temp_test_product;uid=user_temp;pwd=P_t???!!!!--_??l---??LL!!@Lk--_??llK#@K" providerName="System.Data.SqlClient"/>

然后,请在网站系统管理后台【数据表配置代码】中配置一下需要被调用数据库的数据表定义信息,定义完成后就可以如同使用本站数据库数据表一样操作了:

a、数据表配置定义,比如:[table=product_sale_list]...[/table]。

b、数据查询组件应用[dbn=...]的定义,比如:

[pagedata=product_sale_list]

[0]

[dbn=com_product_sale_info]

[page=$req.page$]

[num=20]

[get]...[/get]

[where]...[/where]

...

[/0]

...

[/pagedata]

七、数据查询组件所获取到的数据记录里,出现日期时间类型的字段数据的处理方式说明:

调用显示时间类型的字段值时,可用字段信息的时间格式:

$字段名.todate(yyyy-MM-dd HH:mm:ss)$。该方式的显示结果如:2020-09-22 15:39:55。

yyyy表示年份。MM表示月份。dd表示具体某天号数。HH表示24小时制的时间小时部分。mm表示时间分钟部分。ss表示时间秒数部分。

常用时间格式如:yyyy-MM-dd,yyyy.MM.dd,yyyy-MM-dd HH:mm。

八、数据查询组件所获取到的数据记录里,需要对字段的数据内容进行字符串截取的处理方式说明:

1、使用cut的方式:$字段信息.cut(定义从第几个字符开始并且包括此字符,取多少个字)。

(1)、比如:只显示产品摘要50个字的写法为$pro_des.cut(1,50)$,表示从第一个字开始,包括第一个字,一共取前50个字出来。

(2)、比如:从产品摘要的第2个字开始,一共取出50个字的写法为$pro_des.cut(2,50)$,表示从第二个字开始,包括第二个字,一共取50个字出来。

2、使用left的方式,$字段信息.left(一共需要取多少个字)。比如:只显示产品摘要50个字的写法为$pro_des.left(50)$,表示取出前50个字。

3、使用right的方式,$字段信息.right(一共需要取多少个字)。比如:取出产品摘要的最后50个字的写法为$pro_des.right(50)$,表示取出最后的50个字。

九、警告:本段内容中所说的都是数据表里大字段类型的数据内容,不建议并且反对在页面上使用分页数据组件调用、呈现处理大字段类型的数据内容!针对数据查询组件使用过程中,会遇到数据表中的多本文字段内容需要换行处理时,或者数据表定义时选择为“信息的详情内容”的字段的数据,或者数据表定义时选择为“多图片发布组件所对应”的字段的数据,或者数据表定义时选择为“图文并茂发布组件所对应”的字段的数据,这些数据在前台页面上的内容显示都需要使用[show=...]....[show]方式处理效果。处理方式讲解请见【单条或多条数据查询组件文档】。

十、更多数据查询组件的用法实战操作,请下载名扬银河数字官网系统后获得更好的实践代码与文档的查阅体验,下载网站系统请【名扬银行数字官网系统的最新版本