我使用搜索框从“title”搜索用户输入。除此之外,我想从另一列“主题”中计算一些关键词,仅在“标题”栏中的用户输入对应。但问题是如何找到我在查询中提到的单词的数量即
标题主题
word1,word2,word1,
AB WORD2,word4,WORD3,
BB字1,word4,word4,
AA WORD2,单词2,word4,
CB字1,字1,WORD3,
ac word2,word1,word3,
所以,如果我在文本框中搜索过,那么如何从主题中获取 word1 的数量,其中只有 a 是出现在标题字段中,然后与其他单词类似,以便我可以输出,如:
您的搜索包含:
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
,因为我不知道如何根据用户搜索词的预设获得所有单词的个人计数。如何做到这一点?。
我们将非常感谢您的帮助。
答案 0 :(得分:1)
试试这个:
$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> ";
}
不要在循环外写链接这可以解决你的问题