使用排序从 wordpress 数据库中检索

Posted

技术标签:

【中文标题】使用排序从 wordpress 数据库中检索【英文标题】:Retrieve from wordpress database with sort 【发布时间】:2015-12-29 15:15:33 【问题描述】:

我有一个 wordpress 网站,我正在尝试按字母顺序(希腊语)从表格中获取结果。我已经尝试过排序,但它不起作用。我想我错过了一些东西,但我无法弄清楚。代码如下:

if($homeplayers) 
    asort($homeplayers);
    $i = 1; foreach ($homeplayers as $homeplayer) 
        $output .= '<tr>';
        $output .= '<td style="vertical-align:top;word-wrap:break-word;">';
        $output .= leagueengine_fetch_player_emblem($homeplayer->player_id).leagueengine_fetch_data_from_id($homeplayer->player_id,'data_value' );
        $output .= '</td>';
        $output .= '<td style="text-align:center;vertical-align:top;">';
        if(isset($_POST['import_last_home_lineups']) && in_array($homeplayer->player_id, $home_app))       
            $output .= '<input class="homeplayers" name="homeplayers[]" type="checkbox" checked="checked" value="'.$homeplayer->player_id.'">';
         else 
            $output .= '<input class="homeplayers" name="homeplayers[]" type="checkbox" '.leagueengine_isplaying_tournament($tournament_id,$match_id,$homeplayer->player_id).' value="'.$homeplayer->player_id.'">';
        
        $output .= '</td>';                 
        $i++;
    
    $output .= '<td></td>';
    $output .= '</tr>';


【问题讨论】:

@RenePot 我猜他正在尝试对$homeplayers 的数据进行排序。 @GiwrgosRad 请分享您从哪里获取$homeplayers 的查询。您需要对该查询本身的数据进行排序。 @HarshMakani,我用来获取它们的代码是function leagueengine_tournament_match_lineups($tournament_id,$match_id) global $wpdb; $output = ''; $home_team_id = leagueengine_match_info('tournament_match',NULL,NULL,$tournament_id,$match_id,'home_team_id'); $table = $wpdb-&gt;prefix . 'leagueengine_player_careers'; $homeplayers = $wpdb-&gt;get_results("SELECT * FROM $table WHERE tournament_id = '$tournament_id' AND team_id = '$home_team_id'"); 【参考方案1】:

您正在尝试使用 asort 对对象进行排序,但该函数不知道您希望它如何排序....您需要一个自定义排序函数

usort($homeplayers, "sorter");

function sorter($a,$b)
    // assuming ->player_name is the correct variable
    return strcmp($a->player_name, $b->player_name);

来源:other question 和 php docs

【讨论】:

我试过了,但没用 'if($homeplayers) usort($homeplayers, "sorter"); function sorter($a,$b) // 假设 ->player_name 是正确的变量 return strcmp($a->player_id,'data_value', $b->player_id,'data_value'); $i = 1; foreach ($homeplayers as $homeplayer) $output .= ''; $output .= ''; $output .= Leagueengine_fetch_player_emblem($homeplayer->player_id).leagueengine_fetch_data_from_id($homeplayer->player_id,'data_value' ); $output .= '';'

以上是关于使用排序从 wordpress 数据库中检索的主要内容,如果未能解决你的问题,请参考以下文章

PHP Wordpress:从Wordpress数据库中的自定义表中检索值

Wordpress:从Wordpress数据库中的自定义表中检索值

GraphQL 检索特定块的数据 - Gatsby + Wordpress

使用简码从数据库中检索数据

手动检索带有 JSON 类别/标签的 Wordpress 帖子

在 WordPress 中使用 MySQL 查询检索小部件数据