在PHP中,如何获得mySQL表列中每个实例的计数?

在PHP中,如何获得mySQL表列中每个实例的计数?,php,html,mysql,html-table,row,Php,Html,Mysql,Html Table,Row,为了澄清这一点,我正在尝试获取一个表来输出,该表以某种方式显示我的MySQL数据库表。表中填充了名称、出生年份和生肖动物 我想做的是有一个表行,上面写着“猫的生肖”,然后是“名字”和“出生年份”的标题。我要每个人的名字和出生年份。我想为每个生肖动物做这个 我遇到的问题是,的标题显示的是黄道带列的每个实例。我知道我的代码错了,我只是不知道下一步该怎么办!请帮忙!这是我的密码 $TableName = "zodiacshared"; $SQLstring = "SELECT * FR

为了澄清这一点,我正在尝试获取一个表来输出,该表以某种方式显示我的MySQL数据库表。表中填充了名称、出生年份和生肖动物

我想做的是有一个表行,上面写着“猫的生肖”,然后是“名字”和“出生年份”的标题。我要每个人的名字和出生年份。我想为每个生肖动物做这个

我遇到的问题是,的标题显示的是黄道带列的每个实例。我知道我的代码错了,我只是不知道下一步该怎么办!请帮忙!这是我的密码

$TableName = "zodiacshared";
        $SQLstring = "SELECT * FROM $TableName GROUP BY sign, birthyear";
        $QueryResult = @mysql_query($SQLstring, $DBConnect);
        if (mysql_num_rows($QueryResult) == 0){
            echo "<p> There are no entries in the chinese zodiac gallery! </p>";
        }
        else{
            echo "<table width = '100%' border = '1'>";
            while ($row=mysql_fetch_array($QueryResult)){
                    echo "<th colspan='2'>"; echo $row['sign']; echo " zodiac signs</th>";
                    echo "<tr><th>Name</th><th>Birth Year</th></tr>";
                    echo "<tr>";
                    echo "<td>"; echo $row['name']; echo "</td>";
                    echo "<td>"; echo $row['birthyear']; echo "</td>";
                    echo "</tr>";

            }
            echo "</table>";
            mysql_free_result($QueryResult);
        }
$TableName=“十二生肖共享”;
$SQLstring=“按符号从$TableName组中选择*出生年份”;
$QueryResult=@mysql\u query($SQLstring,$DBConnect);
if(mysql_num_rows($QueryResult)==0){
echo“中国生肖图库中没有任何条目!

”; } 否则{ 回声“; while($row=mysql\u fetch\u数组($QueryResult)){ echo”“;echo$行['sign'];echo“十二生肖”; 呼应“出生年份”; 回声“; echo“”;echo$行['name'];echo“”; echo“”;echo$行[‘生日’];echo“”; 回声“; } 回声“; mysql_free_结果($QueryResult); }

编辑:对,这可能会有帮助 我希望的结果是这样的(这是在Excel上制作的一个粗略草案,但有点意思):

编辑2:解决方案是:

$current_zodiac= '';
            while ($row=mysql_fetch_array($QueryResult)){
                    if ($row['sign']!=$current_zodiac){
                        echo "<th colspan='2'>"; echo $row['sign']; echo " zodiac signs</th>";
                        echo "<tr><th>Name</th><th>Birth Year</th></tr>";
                    }else{
                        //echo the other rows
                    }
                        echo "<tr>";
                        echo "<td>"; echo $row['name']; echo "</td>";
                        echo "<td>"; echo $row['birthyear']; echo "</td>";
                        echo "</tr>";
                    $current_zodiac = $row['sign']; //assign new zodiac to current zodiac variable

            }
$current_zodiac='';
while($row=mysql\u fetch\u数组($QueryResult)){
如果($row['sign']!=$current_zodiac){
echo”“;echo$行['sign'];echo“十二生肖”;
呼应“出生年份”;
}否则{
//重复其他行
}
回声“;
echo“”;echo$行['name'];echo“”;
echo“”;echo$行[‘生日’];echo“”;
回声“;
$current_zodiac=$row['sign'];//将新的十二生肖分配给当前的十二生肖变量
}

您可以使用一个变量在while循环中存储当前黄道带名称。因此,每当生肖名称是唯一的,这意味着在while循环中找到新的生肖时,您可以为它打印新的标题

例如,流可以是这样的

$current_zodiac = '';
while ($row=mysql_fetch_array($QueryResult)){
if ($row['sign']!=$current_zodiac){
 echo "<th colspan='2'>"; echo $row['sign']; echo " zodiac signs</th>";
}else{
//echo the other rows
}
$current_zodiac = $row['sign']; //assign new zodiac to current zodiac variable

}
$current_zodiac='';
while($row=mysql\u fetch\u数组($QueryResult)){
如果($row['sign']!=$current_zodiac){
echo”“;echo$行['sign'];echo“十二生肖”;
}否则{
//重复其他行
}
$current_zodiac=$row['sign'];//将新的十二生肖分配给当前的十二生肖变量
}

能否在文本表中显示您希望输出的样子以及sql表中的一些示例数据。一半的时间里,图片不会对事物发出太多的光。另外,我们不能有效地使用它们。非常感谢!这个想法基本上奏效了,我稍微调整了一下,现在奏效了。如果没有你的基线,这将需要更长的时间,谢谢。