我的表:
6 2/3/2013 row1
10 2/2/2013 row2
1 1/3/2013 row3
2 1/3/2013 row4
如果 column1 有值(column2 将为空) 使用 column3 对行进行排序。仅对 column1 中具有值的行进行排序,而不对 column2 中具有值的行进行排序。
如果 column2 有值(column1 将为空),则按 column2 排序。仅对那些在 column2 中具有值的行进行排序,而不是对 column1 中具有值的行进行排序。
排序:
第一次迭代:
First column column1 row1 is empty and column2 has value so comparing row1 and row3, 1 is minimum so is in top.
1 1/2/2013 row1
10 2/2/2013 row2
6 2/3/2013 row3
2 1/3/2013 row4
第二次迭代:
First column column1 row2 is there so it comparing row2 and row4 for column3 date 1/3/2013 < 2/2/2013 so swap .
1 1/2/2013 row1
2 1/3/2013 row2
6 2/3/2013 row3
10 2/2/2013 row4
第三次迭代:
First column column1 row3 is empty in first column so and comparing column2 since 1 < 6 so no changes.
1 1/2/2013 row1
2 1/3/2013 row2
6 2/3/2013 row3
10 2/2/2013 row4
第四次迭代:
First column column1 row4 is there so it comparing row2 and row4 for column3 date 1/3/2013 < 2/2/2013 so nothing.
1 1/2/2013 row1
2 1/3/2013 row2
6 2/3/2013 row3
10 2/2/2013 row4
Final Result After Sorting:
1 1/2/2013 row1
2 1/3/2013 row2
6 2/3/2013 row3
10 2/2/2013 row4
有没有在 PHP/mysql 中做这件事的好方法?
我尝试使用 php 排序功能无法找到解决方案。
谢谢你。