Php 获取表中显示的百分比关键字
我有一个数据库表,其中有一列是“主题”。当我将tweet存储在数据库中时,我会检查是否存在特定的关键字,并且无论tweet匹配哪一个,主题都会设置为该单词 我正在检查的关键词:比伯,糟透了 推特:天哪,我爱比伯 存储的主题:bieberPhp 获取表中显示的百分比关键字,php,mysql,sql,Php,Mysql,Sql,我有一个数据库表,其中有一列是“主题”。当我将tweet存储在数据库中时,我会检查是否存在特定的关键字,并且无论tweet匹配哪一个,主题都会设置为该单词 我正在检查的关键词:比伯,糟透了 推特:天哪,我爱比伯 存储的主题:bieber 我正在检查的关键词:比伯,糟透了 推特:这个真空吸尘器真的很烂 存储的主题:糟透了 在我的网站上,我列出了这些主题在Twitter上的“声音”份额。见下文: 这基本上是(主题为'KEYWORD HERE'的tweet数量)/(数据库中的tweet总数) 条形
我正在检查的关键词:比伯,糟透了 推特:这个真空吸尘器真的很烂 存储的主题:糟透了 在我的网站上,我列出了这些主题在Twitter上的“声音”份额。见下文: 这基本上是(主题为'KEYWORD HERE'的tweet数量)/(数据库中的tweet总数) 条形图如下所示:
<div class="barChart" data-value="2" data-title="eCircle"></div>
我不是实现这一点的最佳SQL语句和PHP。我可以使用蛮力来遍历每个关键字,但我不想对我的数据库进行太多调用…这似乎是浪费
我可以在一个大查询中得到总计数,然后是每个关键字的计数吗?好像它是以数组的形式回来的
错误尝试:
<?php
include 'php/Connect.php';
$totalTweets = 0;
$ct = new Connect();
$con = $ct->connect();
$sql_query =
"SELECT COUNT(*) FROM tweets";
$res = mysql_query($sql_query, $con);
if (!$con | !$res) {
echo "Problems connecting...";
}
else {
mysql_close($con);
while($row = mysql_fetch_assoc($res)) {
$totalTweets = $row['count(*)'];
}
}
$sql_query =
"SELECT COUNT(*), subject FROM tweets
WHERE subject = 'KEYWORD HERE'";
$res = mysql_query($sql_query, $con);
if (!$con | !$res) {
echo "Problems connecting...";
}
else {
mysql_close($con);
while($row = mysql_fetch_assoc($res)) {
$firstKeyword = $row['subject'];
$firstKeywordCount = $row['count(*)'];
}
}
echo("<div class='barChart' data-value='".($firstKeywordCount/$totalTweets*100)."' data-title='$firstKeyword'></div>");
// CONTINUE THIS UNTIL ALL KEYWORDS/SUBJECTS HAVE BEEN DONE
?>
你能做两个查询吗
select subject, count(*) as numTweets from tweets group by subject;
select count(*) as totalTweets from tweets;
请看,现在编辑。等一下。。它们不再得到维护。看到了吗?相反,学习,并使用或-将帮助您决定哪一个。我将在解决这个问题后再进行研究。谢谢嗯,如果你有低级别的访问权限,myisam\u ftdump-c
工作得相当不错……这似乎很有效。谢谢我可以通过使用第一条语句中的值计算总计数,将其压缩为一。非常感谢!