Как посчитать столько же слов в php?

Я пытался сравнить слова из базы данных и формы ввода. Я хочу считать те же слова, но результат не верный.

Вход: метод или алгоритм

tb_keyword

id      key
1      method
2     algorithm

результат

1

ожидаемый результат

2

коды:

include_once("kmp.php");
$kata = '';
if(isset($_GET['kata']))
$kt = $_GET['kata'];
?>
<div style="width:600px;">
<form method="get" action="">
Cari Kata : <input type="text" name="kata" value="<?php echo $kata; ?>" /
<input type="submit" value="Cari">
</form>
</div>
<?php
$kata = explode(' ',$kt);
foreach($kata as $katas){
$total = 0;
$KMP = new KMP();
$art = $db_con->prepare("select * from tb_positive_keywords");
$art->execute();
while($teks = $art->fetch(PDO::FETCH_ASSOC)){
if($kata!=''){
$hasil = $KMP->KMPSearch($katas,$teks['positive_keyword']);
$total += count($hasil);
echo "Kata yang dicari adalah : ".$katas."<br/>";
echo "Jumlah kata yang ditemukan : ".count($hasil)."<br/>";
echo "Yaitu pada posisi string ke : ";
foreach($hasil as $h) echo $h." ";
echo "<br/>";
}
echo "<div style='width:600px;'>";
echo nl2br(str_replace($katas,"<font color='red'>".$katas."</font>",$teks['positive_keyword']));
echo "</div>";
echo $total;
}

-3

Решение

Несмотря на отсутствие информации с вашей стороны.

Вы можете посчитать повторяющиеся строки, сгруппировав их, и получить только тех, у кого в группе больше 1.

как это

Имея эту плохую схему:

create table tb_keyword
( id int primary key auto_increment,
keyword varchar(50)
);

insert into tb_keyword
values( null, 'method'),(null, 'algorithm');

Ты можешь :

SELECT keyword, count(1) as times
from tb_keyword
group by keyword having  count(1) > 1

Который будет возвращать ключевые слова, которые появляются более одного раза в tb_keyword

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]