我有一个有会员加入的数据库,我正在尝试显示每个国家的会员数量。

这是我用来显示国家标志的代码:

    <?
       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>';
}
?>


这给了我正确的行(成员)计数,但是在每个数字旁边显示了相同的单个标志,而不是带有成员数目的相应标志。

我敢肯定,对于大多数人来说,这可能是非常简单的,但是我是一个真正想学习编码的新手,到目前为止,这主要意味着剪切,粘贴和大量尝试和错误。
任何帮助(和学习资源建议)将不胜感激。 :)

最佳答案

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

关于php - 按组列出行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42689673/

10-12 05:05