1

我正在使用 php 和 smarty 的商业网站上做一些工作。现在我们有一张发票被发送到订单部门,需要一种方法来系统地查找货架上的物品。

我已经设置了所有字段,但我不知道如何使用 php 对 html 表行进行排序。它使用 for each 语句为每个订购的项目创建一行。

有没有办法用 php 和 smarty 的组合来做到这一点?我还是新手,任何帮助将不胜感激。

我找到了查询。

$products = func_query("SELECT $sql_tbl[order_details].itemid, $sql_tbl[products].*, $sql_tbl[products_lng_current].*, $sql_tbl[extra_field_values].value, $sql_tbl[order_details].*, IF($sql_tbl[products].productid IS NULL, 'Y', '') as is_deleted, IF($sql_tbl[order_details].product = '', $sql_tbl[products_lng_current].product, $sql_tbl[order_details].product) as product $fields FROM $sql_tbl[order_details] LEFT JOIN $sql_tbl[products] ON $sql_tbl[order_details].productid = $sql_tbl[products].productid LEFT JOIN $sql_tbl[products_lng_current] ON $sql_tbl[products_lng_current].productid=$sql_tbl[products].productid $join WHERE $sql_tbl[order_details].orderid='$orderid' ORDER BY $sql_tbl[extra_field_values].value desc); 

我添加了订单,但是,它打破了页面。

4

1 回答 1

2

这取决于您如何检索数据。如果它来自数据库,您应该能够ORDER BY在查询中包含该子句,一切都会很好。

如果做不到这一点,你提到你在一个foreach循环中输出,所以数据可能已经从外部源存储在一个数组中。在这种情况下,您可以尝试阅读 PHP 函数usort()

查看 jQuery 插件“DataTables”: http ://datatables.net/

最后,如果您绝对没有其他选择,只能使用 DOM 执行此操作,您可能需要查看“DataTables”。它是一个 jQuery 插件,允许<table>使用自定义算法对元素进行排序(您可以指定用户可以按哪些字段进行排序等)。将其集成到现有的 Smarty 模板中也不应该太痛苦。

于 2012-12-07T21:24:27.480 回答