2017-10-17 46 views
0

我正在为我的网站开发Meet the Team页面。这是迄今为止的样子(http://prntscr.com/gynyrj)。创建一个符合团队页面,想要按降序排列和每个级别排列到新排

正如您所看到的,它是按降序排列的。但是,我试图达到的目标是每个新的水平都会进入下一行。例如管理员在顶层7,管理员上的下一行等级6,管理员在下一等5级..

像这样(http://prntscr.com/gyo1pc

$query = $con->prepare("SELECT * from playerdata WHERE pAdmin >= 1 ORDER BY 
`pAdmin` DESC"); 
$query->execute(); 

while($data = $query->fetch()) 
{ 
    ...panel code 
} 

问候,

丹尼尔

+2

我不是确定你在问什么。看起来这是一个布局问题,而不是查询问题。 – tmwoods

+0

@tmwoods我没有说这是一个查询问题。无论如何,我认为需要循环遍历每个级别并将它们放到新的行中? –

+0

@DannyBarbosa你认为需要循环来循环数据?我会说你的漂亮点,到目前为止你对我的看法是正确的。 – GrumpyCrouton

回答

1

这里有一个可能的解决方案。创建一个二维数组存储在循环的$data阵列,使用pAdmin作为第一个维度的关键:

$query = $con->prepare("SELECT * FROM `playerdata` WHERE `pAdmin` >= 1 ORDER BY `pAdmin` DESC"); 
$query->execute(); 

$playersByAdminLevel = array(); 

while($data = $query->fetch()) { 
    $adminLevel = $data['pAdmin']; 
    $playersByAdminLevel[$adminLevel][] = $data; 
} 

现在,您可以在$playersByAdminLevel阵列嵌套循环:

foreach($playersByAdminLevel as $players) { 
    foreach($players as $player) { 
     // $player['name'] etc. 
    } 
    echo '<br>\n'; // ... or whatever html you need to start the next row 
} 
+0

工程就像一个魅力!谢谢您的帮助!我还有一件事,如果你不介意我问。如何将面板居中放置在页面中间? (像这样 - http://prntscr.com/gyph6u) –

+0

你应该为此创建一个新问题;发布相关的HTML和样式。 – tobiv