使用排序从 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->prefix . 'leagueengine_player_careers'; $homeplayers = $wpdb->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 .= '以上是关于使用排序从 wordpress 数据库中检索的主要内容,如果未能解决你的问题,请参考以下文章
PHP Wordpress:从Wordpress数据库中的自定义表中检索值
Wordpress:从Wordpress数据库中的自定义表中检索值
GraphQL 检索特定块的数据 - Gatsby + Wordpress