2011-04-08 79 views
0

嗨,我有一個觸摸屏,允許客人和用戶瞭解有關我們公司的更多信息。在主頁面上,有三個區域來賓/用戶並進行瀏覽。這些頁面是Travel/Home.aspx,Menu/About/aspx和Spotlight/Home.aspx。每一頁也會更進一步,即Page1將爲客人/用戶提供正在進行的研究清單,他們可以通過選擇特定的研究項目進一步瀏覽。觸摸屏還保留訪客/用戶導航到的所有區域的日誌。我試圖過濾這個日誌,以便我知道人們訪問最多的三個主要區域中的哪一個。到目前爲止,我可以讓我的腳本來計數和組所有的日誌是這樣的:將日誌數據限制爲僅限特定結果

Top 5 Destinations: 12 http://www..org/scraper.php?link=/Home.aspx 
Top 5 Destinations: 5 http://www..org/scraper.php?link=/Menu/About.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/Posters/Home.aspx 
Top 5 Destinations: 3 http://www..org/scraper.php?link=/ResearchAreas/Home.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/ResearchAreas/Nutrients.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/ResearchAreas/Nutrients/IdentificationOfNutrientSources.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/ResearchAreas/Nutrients/IdentificationOfNutrientSources/AtmosphericDeposition.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/ResearchAreas/Nutrients/IdentificationOfNutrientSources/AtmosphericDeposition/AtmosphericNutrientDeposition.aspx 
Top 5 Destinations: 2 http://www..org/scraper.php?link=/ResearchAreas/RegionalMonitoring.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/ResearchAreas/RegionalMonitoring/BightRegionalMonitoring.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/Spotlight/Home.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/Staff/Home.aspx 
Top 5 Destinations: 3 http://www..org/scraper.php?link=/Travel/Home.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/Travel/LosAngelesDepartures.aspx 
Top 5 Destinations: 1 http://www..org/scraper.php?link=/Travel/Traffic.aspx 

但你可以看到它顯示的所有日誌。我希望它將第1頁,第2頁和第3頁中的所有日誌分組,並給我一個總數。這是我的代碼到目前爲止。

> <?php 
>  
>  #### mysql connection ##### 
>  $db = mysql_connect("_","guest","_"); 
>  mysql_select_db(networkr) or die("Couldn't select the database"); 
>  echo "<table>"; 
>  $query = "SELECT count(*),uri FROM logs GROUP BY uri"; 
>  $result = mysql_query($query) or die(mysql_error()); 
>  while($row = mysql_fetch_array($result)){ 
>  echo "Main Hits: ". $row['0'] ." ". $row['1'] .""; 
>  echo "<br />"; 
>  } 
>  echo "</table>"; 
>  ?> 
+0

你發佈的最後一段PHP代碼有什麼問題?它似乎在做你在請求的東西。 – dionyziz 2011-04-08 22:55:28

+0

你需要對三個根目錄進行計數?我看到「\ * \ * Menu」,「Travel」,「\ * \ * Travel」,「ResearchAreas」,「\ * \ * Spotlight」,「Staff」,「Posters」和「/」。問題在於你的網址不一致。添加的「**」字符會使事情變得複雜。 – 2011-04-08 22:56:35

+0

因此,而不是列出所有日誌我只是希望它顯示Travel/Home.aspx,Spotlight/Home.aspx和Menu/About.aspx的計數 – Michael 2011-04-11 21:43:24

回答

0

查詢:(1)由計數降序排序,和(2)限制更改爲前3名(或儘可能多的,只要你願意)。像下面這樣的東西

$query = "SELECT count(*),uri FROM logs GROUP BY uri ORDER BY count(*) DESC LIMIT 3"; 
+0

這隻會給我所有日誌的前三名。我想先將所有日誌分組到這三個主目錄中,然後進行計數。所以不需要限制3,因爲它只會顯示三個結果。 – Michael 2011-04-11 21:06:38