2016-07-17 2 views
0

jquery 토큰 입력 플러그인 http://loopj.com/jquery-tokeninput/을 사용하여 데이터베이스의 데이터를 채우려고하지만 아무것도 표시되지 않습니다. 나는 내가 어디로 잘못 가고 있는지 알고 싶다.데이터베이스에서 데이터를 채울 때 Jquery 토큰 입력이 작동하지 않습니다.

나는 어떤 대안의 접근 방식

내가 작동하지 않는 것 검색 모든 예를 수락.

<script type="text/javascript" 
     src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"> 
</script> 
<script type="text/javascript" src="src/jquery.tokeninput.js"></script> 

<link rel="stylesheet" href="styles/token-input.css" type="text/css" /> 
<link rel="stylesheet" href="styles/token-input-facebook.css" type="text/css" /> 
<div> 
<input type="text" id="tagcool" name="blah" /> 
<input type="button" value="Submit" />  
<script type="text/javascript"> 
$(document).ready(function() {         
    $("#tagcool").tokenInput("phpsearch.php", { 
    theme: "facebook", 
    preventDuplicates: true,    
}); 

}); 
</script> 

내 인덱스 페이지 그리고 내 PHP 페이지 내 DB의

<?php 
$link = mysqli_connect("localhost","root","","dbname") or die("Couldn't make connection."); 

$look = $_GET['q']; 
$arr = array(); 
$rs = mysqli_query($link,"SELECT * FROM `country` WHERE name like '%".$look."%'"); 
# Collect the results 
while($obj = mysqli_fetch_object($rs)) { 
    $arr[] = $obj; 
} 
# JSON-encode the response 
$json_response = json_encode($arr); 
# Optionally: Wrap the response in a callback function for JSONP cross-domain support 
if($_GET["callback"]) { 
    $json_response = $_GET["callback"] . "(" . $json_response . ")"; 
} 
# Return the response 
echo $json_response; 

?> 

enter image description here

+0

플러그인 옵션 (답변이 아님)에서 여분의 쉼표를 먼저 제거하고 정확하게 작동하지 않는 것을 더 설명하고, 콘솔 및 기타 디버그 정보에 무엇이 있는지 설명합니다. – vinayakj

+0

오류 또는 결과를 반환하지 않습니다. 그냥 검색을 말합니다 ... –

+0

네트워크 탭의 기능, 아약스 상태는 무엇을 보여줍니까? jsfiddle를 만들 수 있습니까? – vinayakj

답변

2

이것은 작동합니다. 설정에 따라 약간의 코딩을 변경해야합니다.

HTML

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="styles/token-input-facebook.css" type="text/css" /> 
</head> 
<body> 
<form name='jqueryAutocompleteForm' id='jqueryAutocompleteForm'> 
    <label for='query'>Search:</label> 
    <input type='text' name='q' class='form-control input-lg' id='query' placeholder='Please Start Typing'> 
    <input type='submit' value='Submit' class='btn btn-info'> 
</form> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script type="text/javascript" src="src/jquery.tokeninput.js"></script> 
<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#query").tokenInput("php.php", { 
       theme: "facebook" 
      }); 
     }); 
     </script> 
</body> 
</html> 

참고 : "jquery.tokeninput.js"의 경로 및 제 경우 "php.php"에, 그리고 당신 "phpsearch은"JSON으로 PHP는 "해야합니다. PHP는 "올바른지 확인하십시오.

php.php

<?php 

    //open connection to mysql db 
    $connection = mysqli_connect("localhost","root","","tags") or die("Error " . mysqli_error($connection)); 


    $s = $_GET["q"]; 
    //fetch table rows from mysql db 
    $sql = "SELECT name from mytable WHERE name LIKE '%".$s."%'"; 
    $result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection)); 

    //create an array 
    $emparray = array(); 
    while($row =mysqli_fetch_assoc($result)) 
    { 
     $emparray[] = $row; 
    } 
    echo json_encode($emparray); 

    //close the db connection 
    mysqli_close($connection); 


?> 

이 선택 쿼리를 교체, "$의 SQL은 ="MYTABLE에서 이름을 선택 WHERE 이름 LIKE '% "$ s의.."%' ";" 너와 함께.

알고 싶다면 내 데이터베이스에는 2 개의 열, 1.id, 2, name이있는 테이블이 1 개 있습니다.