我一直在寻找一个易于编辑的标签和搜索系统,需要在打字时使用自动填充系统。
它需要从数据库中获取信息 示例:键入“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"
}
?>
但是我怎么能在每次键入的字母时都能重新创建查询。
抱歉我的英语,而不是我的第一语言。
谢谢!
答案 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>