J'ai essayé de comparer les mots de la base de données et du formulaire de saisie. Je veux compter les mêmes mots, mais le résultat n'est pas correct.Comment compter le même nombre de mots en php?
entrée: procédé ou algorithme
tb_keyword
id key
1 method
2 algorithm
résultat
res attendus ULT
codes:
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;
}
Vous avez besoin pour montrer votre code/requête si vous voulez une réponse. – kainaw
@kainaw désolé j'ai oublié de mettre le code mais je l'ai édité .. –
Vous ne pouvez pas faire 'foreach ($ kata as $ kata)'. Cela écrase votre tableau avec le premier élément du tableau. Je suggère de faire un tableau au pluriel, comme '$ katas' ou' $ katai'. Ensuite, vous pouvez utiliser 'foreach ($ katas as $ kata)'. – kainaw