記事クリック週間ランキングと月間ランキング関数の開発の概要 予備知識: group by、MYSQL関数week()、month() 以下では、週間ランキングと月間ランキングの関数を開発する方法を分析します。記事のランキング機能。
データベースを設計するときに、通常、記事のクリック率を記録するフィールドがありますが、1 週間または 1 か月のクリック率ランキングを計算することは絶対に不可能です。このフィールドのみに依存してそれを達成します。この時点で、各記事の毎日のクリックスルー率を記録する新しいテーブルが作成されます。このテーブルにrankingという名前が付けられており、rid (テーブルID)、contentid (記事IDに関連付けられている)、hits (毎日のクリック率を記録)、date (時刻、重要度、クエリ中の比較)の4つのフィールドが定義されているとします。 >
ランキングの一般構造id contentid ヒット日1 2 12 2010-12-18
2 2 23 2010-12-19<p>$date = date("Y-m-d",time());</p>$contentid = $_GET[id];//当前文章ID<br />$query = mysql_query("select * from ranking where contentid='$contentid' and date='$date'); //查询数据库<br />if($value = mysql_fetch_array($query)){<br /> mysql_query("update ranking set hits = hits+1 where id='$value[id]' ");//如果有记录,只需点击率+1<br />}else{<br /> mysql_query("insert into ranking (`contentid`,`hits`,`date`) values('$contentid','1','$date')");//如果是第一次浏览,插入一条数据,点击率为1<br /><p>}</p>
select *,sum(hits) from ranking group by contentid order by sum(hits) desc
select *,sum(hits) from ranking where week(date)=week(now()) group by contentid order by sum(hits) desc