不使用Select语句对列进行排序

时间:2016-02-20 14:48:22

标签: mysql wordpress sorting

我是新手,我看了一遍。对不起,如果这个问题是重复的话。

我修改了Wordpress页面以从wpdb返回自定义结果。该表有9列,后两个派生自数学计算,因此实际上没有任何内容存储在数据库中。我想在最后两列中对DESC进行排序,但不确定如何执行此操作,因为它不在SELECT语句中计算。

第一列自动为行编号。接下来的6列从wp_posts表中检索信息。

最后两列(我要排序)是使用存储在wp_postmeta中的元数据计算的。

这是SELECT语句:

$sql = "SELECT * FROM wp_posts WHERE post_type = 'eafl_link' AND post_status = 'publish'"; $result = $wpdb->get_results($sql) or die(mysql_error());

这些是HTML表格中的结果:

     echo "<tbody><tr>";
 echo "<td class='center'>" . $counter . "</td>"; 
 echo "<td class='center'>" . "<a href=\"" . $results->post_name . "\" . target='_blank'>"    . $results->post_title . '</a>' . "</td>";
 echo "<td class='center'>" . date("Y/m/j", strtotime($results->post_modified)) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eafltime',true) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eaflmin',true) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eaflmax',true) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eaflref',true) . "</td>";
 echo "<td class='center'>" . round(get_post_meta( $results->ID,'claim-eaflmin',true)*get_post_meta( $results->ID,'claim-eaflref',true))/100 . "</td>";
 echo "<td class='center'>" . round(get_post_meta( $results->ID,'claim-eaflmin',true)*get_post_meta( $results->ID,'claim-eaflref',true)/get_post_meta( $results->ID,'claim-eafltime',true))/100 . "</td>";

最后两列产生正确的数据,但我想按照返回的值DESC对整个表进行排序。

就像我说的那样,我非常非常新,并且我认为自己很幸运,桌子和数学甚至可以工作 - 能够最初按这些列中的一个或多个进行排序将是锦上添花蛋糕。

此外,我可能容易受到SQL注射,流感和其他一切的攻击。建议表示赞赏。

谢谢大家。任何帮助都将受到极大的赞赏。

0 个答案:

没有答案