2017-03-09 49 views
0

我有一个数据库与成员加入,我试图显示来自每个国家的成员数量。列表按组列出的行数

这里是我使用,以显示国家的国旗代码:

<? 
     foreach($sorters as $sortvalue) 
     if($sortvalue == '') 
     echo '<li> <a href="' . $list_url . $connector . $sortfield . 
      '=none">None given</a> </li>'; 
     else 
     echo '<a href="' . $list_url . $connector . $sortfield . 
      '=' . $sortvalue . '"><img src="' . $flags . str_replace(' ', '_', $sortvalue) . '.gif" title="' . $sortvalue . '" alt="' . $sortvalue . '"></a> ' . $countrynum . ' fans<br>'; 
} 
?> 

我真的找了答案,并不断看到相同类型的代码,但我一直没能让它为我工作。

我已经试过这样:

$countrynum = SELECT COUNT(name) FROM $table WHERE country = $sortvalue; 

我foreach语句后插入。这(和我试过的每一个其他迭代给了我解析错误:语法错误,意外的'COUNT'(T_STRING)...

最接近我来解决这个问题是通过使用此代码虽然,我不应该重新连接到数据库应该我):

<? 
    foreach($sorters as $sortvalue) 
     if($sortvalue == '') 
     echo '<li> <a href="' . $list_url . $connector . $sortfield . 
      '=none">None given</a> </li>'; 
     else 
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); 
     foreach($dbh->query('SELECT country, COUNT(*) FROM $table GROUP BY country') as $row) { 
     echo '<a href="' . $list_url . $connector . $sortfield . 
      '=' . $sortvalue . '"><img src="' . $flags . str_replace(' ', '_', $sortvalue) . '.gif" title="' . $sortvalue . '" alt="' . $sortvalue . '"></a> ' . $row['COUNT(*)'] . ' fans<br>'; 
} 
?> 

这给了我正确的行(成员)数,但相同的单一标志物显示每个数字,而不是相应的标志旁与

成员的数量。我敢肯定,这是可能是很多的,你超简单的,但我是一个新手,谁是真正想学习的编码,到目前为止,这主要是意味着切割,粘贴和大量的反复试验。 任何帮助(和学习资源建议)将非常感激。 :)

+0

什么是$ sorters和$ sortvalue? –

回答

0

由于标志图像源取决于$sorters$sortvalue,所有国家都是相同的。看看循环。对于每个$sorters as $sortvalue,该链接将是多个国家,但所有来源的img都是相同的。

+0

那么如何显示每个国家的国旗与会员及其相应的会员数量?我可以提供哪些其他信息来帮助? – webbiegurrl

+0

我似乎只能得到正确的标志以显示没有数字或正确的数字,但只显示每个条目的单个标志。我如何让他们都显示? – webbiegurrl