我試圖做一個程序通過,我可以顯示任何特定的關鍵字(搜索項),有多少次得到了上搜索特定的日期。
我,如果有人正在尋找#1,所以我想,以顯示其搜索統計上的特定數據。例如:
;保存數據並打印日期明智
at 2013-04-01 -> stackoverflow was searched for 15 times<br>
at 2013-04-02 -> stackoverflow was searched for 28 times<br>
at 2013-04-03 -> stackoverflow was searched for 10 times<br>
現在我希望你能明白我想說的話。,。
現在讓我來說說我爲製作這個程序做了些什麼。
看到這個代碼
<?php
$keyword = null;
if (!empty($_GET['s'])) {
$keyword = stripslashes($_GET['s']);
try {
$objDb = new PDO('mysql:dbname=test;charset=UTF-8', 'root', '');
$sql = "INSERT INTO `search` (`keyword`)
VALUES (:keyword)
ON DUPLICATE KEY UPDATE `times` = `times` + 1";
$statement = $objDb->prepare($sql);
$statement->execute(array(':keyword' => $keyword));
} catch(PDOException $e) {
echo $e->getMessage();
}
}
try {
$objDb = new PDO('mysql:dbname=test;charset=UTF-8', 'root', '');
$sql = "SELECT `s`.*,
IF (
(
SELECT `id`
FROM `search`
ORDER BY `date` DESC
LIMIT 0, 1
) = `s`.`id`,
1,
0
) AS `latest`
FROM `search` `s`
ORDER BY `date` DESC LIMIT 0, 50";
$statement = $objDb->query($sql);
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
echo $e->getMessage();
}
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Save search requests to database</title>
<meta name="description" content="Save search requests to database" />
<meta name="keywords" content="Save search requests to database" />
<link href="/css/core.css" rel="stylesheet" type="text/css" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<section id="wrapper">
<form method="get">
<input type="text" name="s" id="search" class="field" value="<?php echo $keyword; ?>" />
<input type="submit" class="button" value="Search" />
</form>
<?php if (!empty($result)) { ?>
<table cellpadding="0" cellspacing="0" border="0" class="tbl_repeat">
<tr>
<th>Keyword</th>
<th class="tar">Searched</th>
</tr>
<?php foreach($result as $row) { ?>
<tr<?php echo $row['latest'] == 1 ? ' class="active"' : null; ?>>
<td><?php echo $row['keyword']; ?></td>
<td class="tar"><?php echo $row['times']; ?></td>
</tr>
<?php } ?>
</table>
<?php } else { ?>
<p>There are currently no searches available.</p>
<?php } ?>
</section>
</body>
</html>
這是一個簡單的程序,從而節省了最近在數據庫中搜索關鍵字,並顯示在網頁上,它也表明,多少次關鍵字得到的搜索。 。實際上它只是更新的時間戳替換當前的時間戳..
現在,任何人都可以請幫助添加特定條件下由它會檢查今天的日期,然後將添加在數據庫中的條目,如果某個詞在得到了研究同一天,它會更新curren帶有更新時間戳的t_timestamp。 我只是想根據日期劃分最近的搜索查詢。
這是在你的數據庫製作此表的代碼
CREATE TABLE IF NOT EXISTS `search` (<br>
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, <br>
`keyword` varchar(100) NOT NULL, <br>
`times` int(11) unsigned DEFAULT '1', <br>
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, <br>
PRIMARY KEY (`id`), <br>
UNIQUE KEY `keyword` (`keyword`) <br>
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=301 ; <br>
請用一個例子數據回覆..
所以GROUP BY在查詢日期,計數值爲每個組。 – CBroe
如何通過集團在database..plz保存搜索查詢,解釋它.. – Kapil