2015-12-04 47 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

非常感謝!這個想法大部分工作,我微調,現在它工作。如果沒有你的基準,它會花更長的時間,謝謝。 –

相關問題