Я получаю повторяющиеся строки при фильтрации списка. Прежде чем я отфильтрую список, повторяющихся значений нет, только когда я его отфильтрую.
Есть идеи?
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Filter models" title="Type in a name">
<ul id="myUL">
$con = mysqli_connect("localhost","un","pw","db");
$listdbtables = array_column(mysqli_fetch_all($con->query('SHOW TABLES FROM searcher_toshiba')),0);
foreach ($listdbtables as $key => $value) {
$sqlqry = "select model, realmodelname from ".$value." GROUP BY model";
$nameResult = mysqli_query($con,$sqlqry);
while($nam = $nameResult->fetch_array()) {
echo'<li><a href="toshiba/codes.php?model=' . $nam['model'] . '">' . $nam['realmodelname'] . '</a></li>';
}
}
</ul>
Сценарий:
function myFunction() {
var input, filter, ul, li, a, i, txtValue;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
ul = document.getElementById("myUL");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
Я пытался fetch_asso c, но это не сработало.
while($nam = $nameResult->fetch_assoc()) {
Я также попробовал массив уникальных, которые не сработали.
Любая помощь будет принята с благодарностью.
ОБНОВЛЕНИЕ
Я ошибся, запрос производит дубликаты перед фильтром.
Я пытался:
$sqlqry = "select (DISTINCT)model, realmodelname from ".$value." GROUP BY model";
но получил те же повторяющиеся результаты.
Спасибо,