🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 万能标签 描述:实现普通查询SQL查询功能的标签 | 额外参数 | 说明 |必须| | --- | --- |--- | | @sql | SQL语句,强烈建议只用于select类型语句,其他SQL有严重安全威胁,同时不建议直接在SQL语句中使用外部变量,如:$\_GET,$\_POST等。出现“>”,“,{lt}代替,{elt}代替= |否| | @table | 表名,不用填写表前缀,当存在@table参数时,忽略@sql参数 |否| | @order| 排序,例如“id DESC” |否| | @num| 每次返回数据量,默认10 | 否 | | @cache| 数据缓存时间,单位秒 | 否 | | @page| 当前分页号,默认$page,当传入该参数表示启用分页,一个页面只允许有一个page,多个标签使用多个page会造成不可预知的问题。 | 否 | | @return| 返回值变量名称,默认data,返回的是数组需要配合volist标签 | 否 | | *字段作为参数| 为@table时,可以用字段作为参数 如表里有status字段 可以使用status=1 | 否 | 示例A: ``` //使用@table参数的查询示例 {get table="article" catid="9" page="$page" return="data"} {volist name="data" id="vo"} ....HTML... {/volist} {/get} <!--分页--> {$pages|raw} 输出总页数{$data->total()},只有标签使用分页才能使用 ``` 示例B: ``` //普通SQL查询示例 //输出id为18的表名为page的数据 page是单页表 此处表前缀不可忽略 {get sql="select * from yzn_product where catid=18" order="inputtime asc" num="10" return="data" page="$page"} {volist name="data" id="vo"} ....HTML... {/volist} {/get} <!--分页--> {$pages|raw} ``` 示例C: ``` ~~~ //比较复杂的示例 {php} $sql = 'select * from yzn_article where status=1 '; //接受外部数据 $id = input('id',0); if($_catid){ $sql .= " `id` = '{$id}' "; } $sql .= ' order by inputtime desc'; {/php} {get sql="$sql" return="data"} {volist name="data" id="vo"} ....HTML... {/volist} {/get} ~~~ ``` 主要事项: ``` 1.sql最好避免直接接受外部数据,会存在SQL注入风险! 2.请不要使用此标签处理非SELECT类型的查询语句! 3.page="$page" 存在,同样是开启分页,一个页面只允许一个标签开启使用,否则会出现不可预知的问题! ```