2013-09-16 1 views
0

Сейчас у меня есть сайт с выпадающим меню, и в этом меню содержится около 1200 мест в разных местах. То, что я хочу сделать, это заменить это выпадающее меню текстовым полем, и когда пользователь начнет вводить имя имени, он заполнит список соответствующим образом. Я смог сделать это успешно, используя массив, который я создаю в фактическом блоке сценария моего кода, но то, что я хочу сделать, не заменяет данные, полученные из запроса MySQL из внешнего php-файла. Это то, что я работаю с использованием массива.Имейте функцию jQuery, используя данные из внешнего php-файла с запросом mySQL

Вот PHP, связанный с этим вопрос:

<?php 
include('common.php'); 
$sql = "SELECT LoginUserName FROM LoginUser"; 
$query = mysql_query($sql); 
while ($row = mysql_fetch_array($query)) { 
    $users = $row['LoginUserName']; 
//echo $hour.":".$minutes; 
} 
// $timeHour = $_POST['hours']; This isn't needed. 
echo $users; 
$content = $_POST['users']; //get posted data 
?> 

Вот что я в настоящее время работает с использованием массива жестких закодированный

<script> 
    $(function() { 
    var availableTags = [ 
     "ActionScript", 
     "AppleScript", 
     "Asp", 
     "BASIC", 
     "C", 
     "C++", 
     "Clojure", 
     "COBOL", 
     "ColdFusion", 
     "Erlang", 
     "Fortran", 
     "Groovy", 
     "Haskell", 
     "Java", 
     "JavaScript", 
     "Lisp", 
     "Perl", 
     "PHP", 
     "Python", 
     "Ruby", 
     "Scala", 
     "Scheme" 
    ]; 

    $("#tags").autocomplete({ 
     source: availableTags 
    }); 
    }); 
    </script> 

, а затем HTML используется на странице

<div class="ui-widget"> 
    <label for="tags">Tags: </label> 
    <input id="tags" /> 
</div> 

Итак, теперь я пытаюсь использовать AJAX для вызова скрипта php, который имеет M ySQL и возвратить то, что он получает, и, в свою очередь, заполнить результаты поиска, чтобы они имели тот же эффект. Вот что я придумал, имейте в виду, я все еще новичок в JQuery/AJAX вещи ...

<script> 
    $(function() { 
    var availableTags = [ 
     $.ajax({ 
     type: "POST", 
     url: "getme.php", 
     data: { content: content 
     } 
     }) 
    ]; 

    $("#tags").autocomplete({ 
     source: availableTags 
    }); 
    }); 
    </script> 

Любая помощь очень ценится. Большое спасибо заранее

ответ

1

Добавить яваскрипт функции

$(function() { 
    //autocomplete 
    $("#tags").autocomplete({ 
    source: "search.php", 
     minLength: 1 
    });    
}); 

И в search.php

$query = "SELECT tags FROM YOUR_TABLE WHERE tags like '%".$_GET['tags']."%' LIMIT 0,15"; 
$rs = mysql_query($query); 
while ($row = mysql_fetch_array($rs)) { 
    $tags[] = $row['tags']; 
} 

echo json_encode($tags); 

Пожалуйста, используйте предел для ускорения автоматического предложения

Смежные вопросы