php - 统计一些有限的单词并显示它们与他们的名字相对应

标签 php mysql regex sqlyog

我正在使用搜索框来搜索来自“标题”的用户输入。除此之外,我想仅在用户输入对应于“标题”列的情况下计算另一列“主题”中的一些关键字。但问题是如何找到我在查询中提到的单词的数量 i.e.

Title        Subject

a       word1,word2,word1,
ab     word2,word4,word3,
bb     word1,word4,word4,
aa     word2,word2,word4,
cb     word1,word1,word3,
ac     word2,word1,word3,

所以,如果我在文本框中搜索了 a,那么我如何从只有 asubject 中获取 word1 的计数出现在标题字段中,然后与其他单词类似,这样我就可以获得输出像:

your search a contains :
word1 (3)
word2 (5)
word3 (2)
word4 (2)

查询代码如下:

$getq = "SELECT Title,Subject COUNT(*) FROM tablename WHERE Title LIKE '%$search_each%' Subject LIKE '%word1%' OR Subject LIKE '%word2%' OR Subject LIKE '%word3%' OR Subject LIKE '%word4%') GROUP BY Subject";
$getquery = $conn->query($getq);
while( $runrows = mysqli_fetch_assoc($getquery))
{
$sub = $runrows ['Subject'];
$countsub = $runrows ['COUNT(*)'];  
}
echo "<a href='#'>"word1"(".$countsub.")</a> ";
echo "<a href='#'>"word2"(".$countsub.")</a> ";
echo "<a href='#'>"word3"(".$countsub.")</a> ";
echo "<a href='#'>"word4"(".$countsub.")</a> ";


在这里, $search_each 是文本框输入,上面的代码没有显示任何内容来代替 $countsub 因为我不知道如何获取用户存在的所有单词的单独计数搜索词。如何做到这一点?

我们将非常感谢您的帮助。

最佳答案

试试这个:

$z = array("word1", "word2", "word3", "word4", "word5");

$countsub1 = array();
for ($i = 0; $i <= 4; $i++) {
    $getq3 = "SELECT COUNT(*) FROM table WHERE (Subject LIKE '%$z[$i]%' AND Title LIKE '%$search_each%') ";
    $getquery4 = $conn->query($getq3);

    while ($runrows = mysqli_fetch_assoc($getquery4)) {
        $sub = $runrows['Subject'];
        $countsub = $runrows['COUNT(*)'];
    }
    $countsub1[$i] = $countsub;

    echo "<a href='#' >$z[$i](" . $countsub1[$i] . ")</a><br> ";
}

不要在循环之外编写链接,这可以解决您的问题。

关于php - 统计一些有限的单词并显示它们与他们的名字相对应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28319831/

相关文章:

javascript - 将 Javascript Date() 转换为 PHP Unix 时间戳

mysql - Mysql 中的存储过程不接受输入参数

regex - 为什么我们应该在正则表达式中更喜欢否定字符类而不是 .* ?

发生多个匹配时的java正则表达式首选项

regex - 过滤特殊字符的正则表达式不起作用

php - 如何在 Smarty 中调试变量,如 PHP var_dump()

php - 如何使用事件记录从 codeigniter 中的另一个表获取值?

php - 如何隔离不需要的 PHP 错误消息?

php - 如何在数据库中管理国家

mysql - pt-query-digest 按用户和数据库过滤查询