1年前と同じような前にこの種のコードを使用していました。 データベースから要素を配列に書き込むときにPHPコードに問題が発生しましたオートコンプリートはできませんが、コードフォームのデータベースを取得して// $要素= array( "25qt"、 "45tr"、 "az12");オートコンプリートよりも phpファイルを単独で開き、var_dump($ elements)を実行すると、配列がデータベースから正しく入力されたように見えます。私はそれに応じて配列の内容を取得します。任意のアイデア理由は、私はデータベースから配列を埋めるときに動作しないが、$ elements = array( "25qt"、 "45tr"、 "az12");のような配列を使用すると動作します。配列がデータベースから埋め込まれているときにオートコンプリートが機能しない
HTMLコード:
<input id="tegjithepjeset" type="text" class="form-control">
のjQueryコード:
<script type="text/javascript">
$(document).ready(function(){
$("#tegjithepjeset").autocomplete({
source:'allParts.php',
minLength:1
});
});
</script>
PHPコード:
<?php
// An empty array:
$data = array();
// Create connection
include 'dbinfo.php';
[email protected]_connect("$host","$user","$password","$db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$queryString = "SELECT code FROM ".$table;
$query =mysqli_query($con,$queryString);
$elements = array();
while($rowDB=mysqli_fetch_array($query)){
$elements[]="".$rowDB[0];
}
//var_dump($elements);
//$elements = array("25qt", "45tr", "az12");
//Loop through the array to find matches:
foreach ($elements as $elm) {
// Add matches to the $data array:
if (stripos($elm, $_GET['term']) !== false) $data[] = $elm;//here we fill our empty array with values
} // End of FOREACH.
// Return the data:
echo json_encode($data);
?>
多くのオートコンプリートライブラリがあります。あなたはどちらを使っていますか? – bassxzero
var_dump($ elements)の出力を表示できますか? –
$ elements [] = ""。$ rowDB [0];を置き換えてみてください。 $ elements [] = $ rowDB [0];を使用します。 –