建议清单不会显示

时间:2016-06-05 11:45:23

标签: php html ajax

让我们说它看起来像这样:

<input type='text' name='customer' onkeyup='searchFor(this.value);' list='customers'>

我有一个数据列表(嵌入在PHP代码中,将在页面的某处返回)

<datalist id='customers'>
<option>$customer[0]['name']</option>
</datalist>

我想输入一个客户ID,然后它应该将客户的名称作为我的文本字段下面的建议列表返回。

这是我的MySQL查询工作(如果输入数字,var_dump()返回正确的值)

$customer = $database->query("SELECT * FROM customers WHERE customerID LIKE ('%".$_POST["searchterm"]."%')")->fetchAll(PDO::FETCH_ASSOC);

但它没有显示我姓名的建议清单。

在我看来这是行不通的,因为我输入了一个数字。

已编辑:

function searchFor(suchbegriff){
  var xmlHttp = null;
  if (typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
  }
  if (!xmlHttp) {
    try {
      xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xmlHttp  = null;
      }
    }
  }
  if (xmlHttp) {
    var url = "includes/search/search.php";
    var params = "suchbegriff="+suchbegriff;

    xmlHttp.open("POST", url, true);

    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.onreadystatechange = function () {
      if (xmlHttp.readyState == 4) {
        document.getElementById("ergebnis").innerHTML = xmlHttp.responseText;
      }
    };
    xmlHttp.send(params);
  }
}

edited2

的search.php

<?php
include_once("../Dbo.class.inc");
    if (isset($_POST["searchterm"])){
    $customer = $database->query("SELECT * FROM customers WHERE customerID LIKE ('%".$_POST["searchterm"]."%')")->fetchAll(PDO::FETCH_ASSOC);


        echo "<datalist id='customers'>";
        foreach($customer as $key => $value){
            foreach($value as $key2 => $value2){
                if($key2 == "Name" || $key2 == "name"){
                    echo "<option>" . $value2 . "</option>";
                }
            }
        }
        echo "</datalist>";
} ?>

0 个答案:

没有答案