2017-11-21 7 views
1

jquery UIを使用していますが、JavaScriptと連携していても10時間以上使用していますが、PHPとMySQLでは動作しません。私は、単純なHTMLフォームにjQuery Ui AutoComplete PHPで結果を取得しないMySQL

を使用している、これはこれは私のjqueryのコード

$(document).ready(function(){ 

$("#tags").autocomplete({ 
     source: 'autocomplete.php' 
    }); 

}); 

ある

<div class="col-md-12" class="col-centered"> 
       <form id="user_form" method="GET">  
        <input id="tags" type="text" class="dic_input ui-autocomplete-input" name="ajaxData"/> 
        <button class="btn btn-lg btn-default"><i class="fa fa-2x fa-search"></i></button> 
       </form> 
      </div> 

私のhtmlコードである私はおそらくPHPファイルからの結果

<?php 

    require("admin/functions/dbconfig.php"); 


    //get search term 
    $searchTerm = $_GET['term']; 

    //get matched data from skills table 
    $sql ="SELECT lemma FROM lemma WHERE lemma like '" . $searchTerm . "%' ORDER BY lemma LIMIT 0,6"; 

    $q=mysql_query($sql); 
    while ($row = mysql_fetch_array($q)) { 
     $data[] = str_replace("-"," ",$row['lemma']); 

    } 

    //return json data 
    echo json_encode($data); 
?> 
+0

涼しいです。そのエスケープされていない検索語でサーバーをクラッシュさせる可能性があります。 –

+0

コンテンツタイプヘッダーを設定する必要があります。 –

答えて

0

あなたを取得していますコンテンツタイプヘッダーを設定して、JQueryが戻ってきた内容を知るようにする必要があります。

header("Content-type:application/json") 
+0

ヘッダーはどこに追加しますか? –

+0

は機能しません!私はこれを追加しました –

0

してみてくださいその

**のHTMLファイル**

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Demo</title> 
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" type="text/css" /> 
</head> 
<body> 

    <form action='' method='post'> 
     <p><label>Country:</label><input type='text' name='country' value='' class='auto'></p> 
    </form> 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>  
<script type="text/javascript"> 
$(function() { 

    //autocomplete 
    $(".auto").autocomplete({ 
     source: "autocomplate.php", 
     minLength: 1 
    });     

}); 
</script> 
</body> 
</html> 

** PHPファイル** ファイル名:autocomplate.php

<?php 
define('DB_SERVER', 'localhost'); 
define('DB_USER', 'root'); 
define('DB_PASSWORD', 'root'); 
define('DB_NAME', 'demo'); 


if (isset($_GET['term'])){ 
    $return_arr = array(); 

    try { 
     $conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

     $stmt = $conn->prepare('SELECT country FROM countries WHERE country LIKE :term'); 
     $stmt->execute(array('term' => '%'.$_GET['term'].'%')); 

     while($row = $stmt->fetch()) { 
      $return_arr[] = $row['country']; 
     } 

    } catch(PDOException $e) { 
     echo 'ERROR: ' . $e->getMessage(); 
    } 


    /* Toss back results as json encoded array. */ 
    echo json_encode($return_arr); 
} 

?> 
関連する問題