首页 > 解决方案 > PHP MySQL Jquery - 过滤器列表上的重复行

问题描述

过滤列表时出现重复行。在我过滤列表之前,没有重复值,只有当我过滤它时。

有任何想法吗?

<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_assoc,但没有奏效。

        while($nam = $nameResult->fetch_assoc()) {

我也尝试了数组唯一,但没有奏效。

任何帮助将不胜感激。

更新

我错了,查询在过滤器之前产生重复项。

我试过了:

        $sqlqry = "select (DISTINCT)model, realmodelname from ".$value." GROUP BY model";

但得到了相同的重复结果。

谢谢,

标签: phpjquery

解决方案


我的解决方案最终是:

SHOW TABLES FROM mydb LIKE "e%" 

推荐阅读