2016-06-13 3 views
2

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); 

?> 
+0

多くのオートコンプリートライブラリがあります。あなたはどちらを使っていますか? – bassxzero

+0

var_dump($ elements)の出力を表示できますか? –

+0

$ elements [] = ""。$ rowDB [0];を置き換えてみてください。 $ elements [] = $ rowDB [0];を使用します。 –

答えて

1

以下に示すように$素子アレイのコードを置き換え。

$elements = array(); 
while($rowDB=mysqli_fetch_array($query)){ 
    // $elements[]="".$rowDB[0]; 
    $elements[]=$rowDB[0]; 
} 
+0

その仕事は、私はあなたがここで尋ねる前に提案したことを確信していると確信しています。 –

+0

@AlbanKaperi私は助けてうれしいです。他の人がこのコードを使用できるように、正解は正解です。 –

関連する問題