Tiaxgame.Tk
Trang chủ | Forum | Register Wap4.Co Free
Đăng Nhập » Đăng Ký
ForumWap4 Việt NamShare Code
Lượt xem: 312

▼ Tiết kiệm custom data wap4 bằng cách lưu các data cùng key vào một entry

* phamquyet9x  (Member) [Off]
34 * 22
*   Cách đây 9 tháng
Ờ, chả nói gì nhiều đâu, hiểu đc thì hiểu, ko hiểu thì thôi troll
Đây là các hàm add, get, del cho cách lưu data vào một entry

{% macro getdata(key, i, v) %}
{% set data = get_data(key)|last.data|split('-||-') %}
{{ data[i-1]|json_decode[v] }}
{% endmacro %}

{% macro adddata(key, i, v, u) %}
{% set data = get_data(key)|last.data|split('-||-') %}
{% set up = data[i-1]|json_decode %}
{% if up == NULL %}
{% set up = [] %}
{% endif %}
{% set up = up|merge({(v):u})|json_encode %}
{% set f = data[:i-1]|join('-||-') %}
{% set l = data[i:]|join('-||-') %}
{% set id = get_data(key)|last.id %}
{% if f == NULL %}
{% set data = [up,l] %}
{% elseif l == NULL %}
{% set data = [f,up] %}
{% else %}
{% set data = [f,up,l] %}
{% endif %}
{{ update_data_by_id(key, id, data|join('-||-')) }}
{% endmacro %}

{% macro deldata(key, i) %}
{% set data = get_data(key)|last.data|split('-||-') %}
{% set f = data[:i-1]|join('-||-') %}
{% set l = data[i:]|join('-||-') %}
{% set id = get_data(key)|last.id %}
{% if f == NULL %}
{% set data = [l] %}
{% elseif l == NULL %}
{% set data = [f] %}
{% else %}
{% set data = [f,l] %}
{% endif %}
{{ update_data_by_id(key, id, data|join('-||-')) }}
{% endmacro %}


Ví dụ:
*Custom data: key: test ; data: {"i":1,"nd":"[hgfu"}-||-{"i":2,"nd":"ahihi"}
-Twig: {{ getdata('test', 2, 'nd') }}
+Result: ahihi
-Twig: {{ adddata('test', 2, 'nd', '123456') }}
+ Result: Custom data->{"i":1,"nd":"[hgfu"}-||-{"i":2,"nd":"123456"}
-Twig: {{ adddata('test', 3, 'nd', '13579') }}
+ Result: Custom data->{"i":1,"nd":"[hgfu"}-||-{"i":2,"nd":"123456"}-||-{"nd":13579}

*Chatbox đơn giản:


{% if get_data('chatbox')|length == 0 %}
{% set create = save_data('chatbox', '-||-') %}
{% endif %}
{% set total = get_data('chatbox')|last.data|split('-||-')|length %}
{% if get_post('msg') != NULL %}
{% set d = {"nd":get_post('msg')}|json_encode %}
{% set save = update_data_by_id('chatbox', get_data('chatbox')|last.id, get_data('chatbox')|last.data ~ '-||-' ~ d) %}
{% set total = total+1 %}
{% endif %}
{% for i in total..1 %}
<div>{{ getdata('chatbox', i, 'nd') }}</div>
{% endfor %}
<form method="post"><textarea name="msg"></textarea><button>Send</button></form>


Nguồn: @luan

--------
Edited by: phamquyet9x
[Like=6] luan , mellody , Pupy , khanh , tiaxgame , KhaiPhan9x
* VinaDP  (Member) [Off]
173 * 254
*   Cách đây 9 tháng
Gửi từ phamquyet9x:
Ờ, chả nói gì nhiều đâu, hiểu đc thì hiểu, ko hiểu thì thôi :troll: Đây là các hàm [b]add, get, del[/b] cho cách lưu data vào một entry [code]{% macro getdata(key, i, v) %} {% set data = get_data ...
Vl bác leech kiểu mèo gì vậy yaoming
* mellody  (Member) [Off]
27 * 39
*   Cách đây 9 tháng
Rồi ví dụ muốn đếm tất cả data có trong key thì sao nhỉ?
* hjj  (Member) [Off]
3 * 2
*   Cách đây 1 tuần
Có func khi mà để trống text thì vẫn lưu vào data là null kô nhỉ
▼ Tổng số: 4
- Share:
BBCode:

Link: