2015-12-04 13 views
1

为了澄清,我试图得到一个输出表,以某种方式显示我的MySQL数据库表。该表中填充了姓名,出生年和十二生肖动物。在PHP中,我如何获得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); 
     } 

enter image description here

谢谢大家!

编辑:对,可能会有帮助 我希望输出这样的事情(这是用Excel做了一个粗略的草稿,但被指出翻过): desired output

编辑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 

      } 
+0

你可以在文本列表中显示你想要输出的样子和sql表格中的一些示例数据。一半的时间,图片不会让事物发光。另外我们不能有效地使用它们 – Drew

回答

1

你可以有一个变量在你的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 

} 
+0

非常感谢!这个想法大部分工作,我微调,现在它工作。如果没有你的基准,它会花更长的时间,谢谢。 –

相关问题