gpt4 book ai didi

PHP mysql 不匹配单个单词

转载 作者:行者123 更新时间:2023-11-29 17:48:22 25 4
gpt4 key购买 nike

我正在尝试在 php 中为数字图书馆应用程序实现一个简单的推荐引擎。推荐引擎使用关键字来提出建议。问题是,除非输入的关键字完全相同,否则它不会推荐书籍。例如,A书关键字=“货币投资”,B书关键字=“货币交易”;如果我读了书 A,它不会向我推荐书 B,因为关键字略有不同。我希望它推荐的书籍只要关键字中至少有一个匹配的单词即可。

function getrecommendations(){
global $conn;
$sql = "SELECT keywords FROM books WHERE Id = ".$_GET['id']."";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result);
$keyword = preg_match_all('/([a-zA-Z]|\xC3[\x80-\x96\x98-\xB6\xB8-\xBF]|\xC5[\x92\x93\xA0\xA1\xB8\xBD\xBE]){4,}/', $row['keywords'],$match_arr);
$keyword = $match_arr[0];
$i = 0;
$query ="";
foreach($keyword as $value)
{
if($i==0)
{
$query = "'%$value%'";
$i=1;
}
else
{
$query = $query . " AND keywords LIKE '%$value%'";
}
}
$key = $query;
$sql = "SELECT * FROM books WHERE keywords LIKE $key";
$result = query($sql);
confirm($result);
$no=mysqli_num_rows($result);
if($no==0){

}else{
echo "<p><b><big><big>RECOMMENDED FOR YOU</big></big></b></p>";
echo "<hr>";
while($row = mysqli_fetch_array($result))
{
$book = <<<MYHERODOC
<div class="col-lg-3 col-md-6 col-sm-6">
<div class="container2">
<img style="height:383px; width:254px" src="img/pic_book/{$row['pathtoimage']}" alt="Avatar" class="image img-responsive">
<div class="overlay">
<div class="text" style="text-transform:capitalize"><b>{$row['Title']}</b><br><small><small><span style="text-transform:lowercase">by</span> {$row['Author']}</small></small>
<a class = "btn overlay-btn" href="book.php?id={$row['Id']}"> Preview </a>
</div>
</div>
</div><br>
<a href="book.php?id={$row['Id']}" style="color:#cdae51; text-transform:uppercase">{$row['Title']}</a><br>
<p style="color:#262626">{$row['Author']}</p>
</div>
MYHERODOC;
echo $book;
}
}
}

最佳答案

$title_words = explode(" ", $book_title);

这样您就可以用单词分割完整的书名。因此您可以匹配任何书名中的任何单词。

关于PHP mysql 不匹配单个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49614673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com