2012-05-04 281 views
-4

我在排序ajax数据表时遇到了一些麻烦,因为mysql中的默认值为NULL或0,我不想显示它们。例如,在我的表,我有:Datatables ajax排序

item | value 
-----+------ 
    a |  2 
    b |  3 
    c |  4 
    d | NULL 

从大到小的顺序排序的效果很好,但上升将显示“d”第一,我不希望“d”在那里。它似乎也是一个自定义的js命令是不可能的,因为这是ajax,所以命令直接在db中完成。

我该如何解决这个问题?

+0

以为你是让你的技术混合起来。您从表中拉出的排序顺序取决于您选择的情况。仅仅因为你把它放在桌子上并不意味着它会以这种方式出现。 Ajax只是一种在客户端和服务器之间进行通信的方法,所以您的标题完全没有意义。您可以在sql select语句中排除您不希望显示的值(通过WHERE子句显示)。 – scrappedcola

回答

0

如果你不想在那里过滤它。 WHERE value IS NOT NULL 问题没有太大意义,如果您向我们提供了当前记录,当前结果和预期结果,则会更容易。

+0

我不想过滤它,我只是想在排序时不考虑空值,但我希望他们在表中。 – luqita

1

您可以管理各种这样怎么空:我

select item, value 
from ... 
order by case when value is null then 0 else 1 end descending, -- or ascending (I do not full understud your question) 
     value ascending           -- or descending (idem)