2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

模板:Select*

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
跳至導覽 跳至搜尋
Template-info.svg 模板文檔  [查看] [編輯] [歷史] [刷新]

這是一個提供頁內數據查詢的模板,同時可以根據需要進行排序,如果與{{random}}和頁內刷新等模板組合使用,可以變成隨機內容的排序(是否重複還是要看具體實現)。

主要參數:

  • mode:有效參數:0,切換為模塊。(語法優化中)
  • header:在每一條查詢前增加一個頭。
  • footer:在每一條查詢前增加一個尾。
  • split:給每一個字段增加一個間隔符
  • phase:給查詢增加一個段落末符號,默認為:換行符<br/>
  • default:當找不到數據的時候所需要顯示的內容,默認為空。
  • +:聲明記錄,格式是【+記錄名.字段名:數據值】(不需要等號)
  • $:聲明字段,格式是【$區別符=字段名】(需要等號),記錄中字段所對應的數據值會按照此處聲明的先後順序重新排列。
  • @:重寫header或footer,格式是【@序號-t】或【@序號-b】
    • 序號就是你進行查詢時的順序,如【|exm1|exm2|exmeee|ppt|exm6】中,exm6是第5個查詢的結果。
    • 當你需要只對exm6的footer進行重寫時,就應該使用【@5-t=重寫頭】。
  • 修飾字段:格式是【區別符-t】或【區別符-b】分別對應前綴與後綴。
    • 區別符就是你用字段選擇器【$】命名的文本,如【$exm】中exm就是區別符。
    • 所以當你需要對結果中的每一個字段的數據進行修飾時,就應該使用【exm-t=前綴】,但是你無法只為單獨一條記錄中的某一個字段設置修飾。
  • 查詢過程只要聲明【記錄名】即可,每條記錄會按照聲明的先後順序進行排序。
  • 注意:請將查詢過程放在最後,【添加記錄】必須在最前面,否則後續的查詢是查不到的。

模塊語法:

  • ;:語句分段。
  • %;:分號的轉義字符。
  • @:記錄選擇器
    • 選擇一個記錄名以供插入使用,使用「@#」清除選擇器。
    • 例子:@記錄名;
    • 修飾記錄,使用「:」(半角冒號)進行賦值,「-t」表示前綴,「-b」表示後綴,目前不允許合併。
    • 例子:@記錄名-t:值;@記錄名-b:值;
  • $:字段選擇器
    • 選擇一組字段名以供查詢或插入使用,使用「,」(半角逗號)進行分割。
    • 例子:$字段1,字段2,字段3;
    • 修飾字段,使用「:」(半角冒號)進行賦值,「-t」表示前綴,「-b」表示後綴,「-sp」表示間隔符,允許合併縮寫。
    • 例子:$字段名-t:值;$字段名-b:值;$字段名-sp:值;或:$字段1,字段2,字段3,字段3:意思;
  • +:插入語句
    • 注意:記錄名不得以「!」、「@」、「#」、「$」、「+」、「%」開頭,這是保留關鍵字符。
    • 插入數據,使用「,」(半角逗號)進行分割。
    • 完整語句:+記錄名.字段名:數據;
    • 記錄名簡寫:@記錄名;+字段名1:數據1,字段名2:數據2,字段名3:數據3;
    • 字段名簡寫:@記錄名;$字段1,字段2,字段3;+數據1,數據2,數據3,字段4:數據4;
    • 簡寫翻譯為:+記錄名.字段名1:數據1;+記錄名.字段名2:數據2;+記錄名.字段名3:數據3;
  • #:參數定義
    • header:在每一條查詢前增加一個頭。可以被記錄選擇器重寫。
    • footer:在每一條查詢前增加一個尾。可以被記錄選擇器重寫。
    • prefix:在每一個字段前面增加一個頭。可以被字段選擇器重寫。
    • suffix:在每一個字段前面增加一個尾。可以被字段選擇器重寫。
    • split:給每一個字段增加一個間隔符。
    • phase:給查詢增加一個段落末符號,默認為:換行符<br/>
    • default:當找不到數據的時候所需要顯示的內容,默認為空。
  • 使用記錄名進行查詢
    • 例子:query;

輸出模型:

(【記錄名-t】或【header】)(【字段名-t】或【prefix】)【記錄值】(【字段名-b】或【suffix】)(【字段名-sp】或【split】)……(【記錄名-b】或【footer】)【phase】……

模板例子:

{{Select*
<!-- 主要参数 -->|header=头:|split=;|footer=尾。|pahse=<br/>|default=
<!-- 添加记录 -->|+虚记录1.虚字段A:空数据A1|+虚记录1.虚字段B:空数据B1|+虚记录1.虚字段C:空数据B1
<!-- 添加记录 -->|+虚记录2.虚字段A:空数据A2|+虚记录2.虚字段B:空数据B2
<!-- 添加记录 -->|+虚记录3.虚字段A:空数据A3|+虚记录3.虚字段B:空数据B3|+虚记录3.虚字段C:空数据B1
<!-- 添加记录 -->|+虚记录4.虚字段A:空数据A4|+虚记录4.虚字段B:空数据B4
<!-- 声明字段 -->|$1=虚字段B|$2=虚字段A|$3=虚字段C
<!-- 修饰字段 -->|字段1-t=火力{{=}}|字段2-t=雷装{{=}}|字段3-t=装甲{{=}}
<!-- 重写头尾 -->|@1-t=重写记录头.|@1-b=重写记录尾。
<!-- 查询记录 -->|虚记录2|虚记录1|虚记录3|虚记录4
}}

結果:

重寫記錄頭.火力=空數據B2;雷裝=空數據A2;裝甲=;重寫記錄尾。
未命名:火力=空數據B1;雷裝=空數據A1;裝甲=空數據B1;結束。
未命名:火力=空數據B3;雷裝=空數據A3;裝甲=空數據B1;結束。
未命名:火力=空數據B4;雷裝=空數據A4;裝甲=;結束。

模塊例子:

{{#invoke:Select*|test|str=#header:未命名:;#split:;;#footer:结束。;#pahse:<br/>;+虚记录1.虚字段A:空数据A1;+虚记录1.虚字段B:空数据B1;+虚记录1.虚字段C:空数据B1;+虚记录2.虚字段A:空数据A2;+虚记录2.虚字段B:空数据B2;+虚记录3.虚字段A:空数据A3;+虚记录3.虚字段B:空数据B3;+虚记录3.虚字段C:空数据B1;+虚记录4.虚字段A:空数据A4;+虚记录4.虚字段B:空数据B4;$虚字段B,虚字段A,虚字段C;$虚字段B-t:火力=;$虚字段A-t:雷装=;$虚字段C-t:装甲=;@虚记录2-t:重写记录头=;@虚记录2-b:重写记录尾。;虚记录2;虚记录1;虚记录3;虚记录4}}

結果:

重寫記錄頭=火力=空數據B2;雷裝=空數據A2;裝甲=;重寫記錄尾。
未命名:火力=空數據B1;雷裝=空數據A1;裝甲=空數據B1;結束。
未命名:火力=空數據B3;雷裝=空數據A3;裝甲=空數據B1;結束。
未命名:火力=空數據B4;雷裝=空數據A4;裝甲=;結束。