标签和搜索系统与自动填充

时间:2012-05-31 06:37:29

标签: javascript search tags live

我一直在寻找一个易于编辑的标签和搜索系统,需要在打字时使用自动填充系统。

它需要从数据库中获取信息 示例:键入“Sh”

在数据库中获取以下信息。

Sharks 2         / 2004 / Drama / Dreamworks
Sherlock Holmes  / 2009 / Drama / UnitedFilms
Sherlock Holmes  / 2012 / Drama /United Films

它现在显示为列表并带有链接。

我还需要一个标签系统,当我输入一个字母时,会向我显示用户并从变量中获取该用户的id。

我不能这样做我不是很擅长js而且我找不到教程因为我不喜欢scipt而只想了解它。

好吧我的想法是从mysql到数据库进行调用并显示for循环,我知道如何使用变量和everithing这样做但我无法为每次输入一个字母制作代码再次进行搜索通过mysql所有我想到的是我不知道我是否有正确的想法。

<?php
   $var_search = $typed;
   $query = mysql_query("SELECT * FROM movies WHERE name = '%$typed%");
   $rows = mysql_num_rows($query);
    for($i=0, $i = $rows, $++){
      echo "here show the list"
     }

?>

但是我怎么能在每次键入的字母时都能重新创建查询。

抱歉我的英语,而不是我的第一语言。

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,Antonio Laguna是对的,但从我可以告诉你需要使用的是ajax:

http://api.jquery.com/jQuery.ajax/

你必须创建一个文本框并使用onkeyup事件来启动ajax请求,每次用户键入一个键,显示一个带有数据库给定输出的php文件(在这个文件中将是代码你在上面的问题中有。)

这看起来像这样:

<强>的index.html:

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        function typing(search){
        $.ajax({
          url: 'get_db.php?q='+search,
          success: function(data) {
            $('#result').html(data);
          }
        });

        }
    </script>
</head>
<body>
    <input type="textbox" onkeyup="javascript: typing(this.value);">
    <div id="results" style="width: 200px; height: 300px;">

    </div>
</body>
</html>

<强> get_db.php:

<html>
<head>

</head>
<body>
<ul>
    <?php
       $typed = $_GET["q"];
       $typed = trim($typed);
       $query="select * from movies where name = '%typed%'";  
        $rt=mysql_query($query);
        echo mysql_error();  
        while($nt=mysql_fetch_array($rt)){
    ?>
        <li>
            <a href="<?php echo "$nt[link]"; ?>"><?php echo "$nt[name]"; ?></a> 
        </li> 
    <?php 
        }
    ?>

    ?>
</ul>
</body>
</html>