我试图在一个组合框中做一个巧合,其中列出了一个类别列表,其中第一个类似的单词可以在寄存器中找到,例如:
输入引用:"太阳太棒了,没有人能直接看到它"
爆炸数组中的每个单词""," sun"等...
在具有相似名称的类别中找到该词:category" great"
直到它没问题,但该类别有一个ID,所以...我怎么能与ID重合,因为它找到了这个单词,但总是保存第一个类别id。
这是我的代码:(由@Mike编辑)
ArrayList
但我获得的是所有这些引用的相同类别,当每个引号必须具有不同的>> category quotes
答案 0 :(得分:1)
您似乎想要一个while
循环,但正在使用do
循环。这会更好吗?
<?php
$rows = mysql_num_rows($RecordsetCategory);
if($rows > 0) {
mysql_data_seek($RecordsetCategory, 0);
while ($row_RecordsetCategory = mysql_fetch_assoc($RecordsetCategory)) {
$input = $row_RecordsetCategory['category'];
$chain = $quote;
$array = explode(" ", $quote);
$words = $array;
$shortest = -1;
foreach ($words as $word) {
$lev = levenshtein($input, $word);
if ($lev == 0) {
$closest = $word;
$shortest = 0;
break;
}
if ($lev <= $shortest || $shortest < 0) {
$closest = $word;
$shortest = $lev;
}
}
?><option value="<?php echo $row_RecordsetCategory['id']?>"><?php echo $closest;?></option><?php
}
}
我不能说我完全理解你在做什么,但你想要在操作查询结果之前执行查询。