【发布时间】:2021-12-29 20:44:47
【问题描述】:
我有两个维度的数据,一是购买本身,二是推荐参考。订单由 PDO 生成并取自 MySQL 数据库:
<div rfrnc="joe" id="1" class="order"><div>1 Laptop $220</div><div class="time">10.25</div></div>
<div rfrnc="bill" id="2" class="order"><div>1 Phone $520</div><div class="time">10.10</div></div>
<div rfrnc="joe" id="3" class="order"><div>1 Headset $220</div><div class="time">9.20</div></div>
<div rfrnc="bill" id="4" class="order"><div>1 Laptop $220</div><div class="time">9.02</div></div>
<div rfrnc="joe" id="5" class="order"><div>1 Laptop $220</div><div class="time">11.02</div></div>
使用ajax,上面的html会被直接解析成我网站上的实时提要,通过orderid或购买日期,通过3种相同函数的api调用(取决于参数来识别每个操作)进行排序:
-
初始加载(5 个条目)和加载更多按钮(每次 +5)
$(".wrapper").append(html); -
websocket ping 仅触发相同的 api 调用和从 mysql 检索(仅返回一个订单 - 实时提要)
$(".wrapper").prepend(html); -
当订单已经在实时提要中但状态发生变化时,websocket 会更新
$("#" + orderid).replaceWith(html);
我遇到的问题是如何将 html div 转换为按引用进行显示和分组,如下所示。
<div rfrnc="joe">
<div id="5" class="order">...</div>
<div id="3" class="order">...</div>
<div id="1" class="order">...</div>
</div>
<div rfrnc="bill">
<div id="4" class="order">...</div>
<div id="2" class="order">...</div>
</div>
我尝试了各种各样的事情,比如重写源 php html,重写 sql 查询以使用 group_concat 以及使用 wrapAll 和类似的 jquery 东西来修改已经从 ajax 调用返回但没有运气的 html。单击任一订单以更改其状态时,还有进一步的 ajax 操作。对于具有相同参考的所有订单,我需要在组级别上相同。对不起,如果我没有解释清楚。
【问题讨论】:
-
此时我什至愿意切换到 JSON 数据而不是解析 html 并将所有循环和 html 移动到 jQuery。
标签: javascript php jquery mysql ajax