php - 按组列出行数

标签 php mysql database

我有一个包含成员(member)加入的数据库,我正在尝试显示来自每个国家/地区的成员(member)数量。

这是我用来显示国旗的代码:

    <?
       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/

相关文章:

php - 是否可以使用选择下拉列表对 MySql 结果进行排序?

java - 如何在我的 java 应用程序中启用数据库缓存

php - 如何根据父 ID 以线程方式输出我的数据?

php - 1分钟后出现500服务器错误

php - 如何获取字符串的两个字符的开头

c# - 使用 jQuery 加载数据库的搜索引擎优化

database - 查找其中一个字段的值不为空且不存在于不同字段中的 MongoDB 文档

从服务器检索多行时出现php错误

php - 想要使用 PDO 制作复选框过滤器

php - 一组项目中的Mysql随机项目