私はこのチュートリアルに従っています:
http://www.plus2net.com/php_tutorial/ajax-search.php
彼らは私が探しているものを提供してくれました。しかし、私が直面している唯一の問題は、Enterボタンを押すと、ページが更新されることです:(しかし、私はそれをしたくありません.
デモ:
http://www.plus2net.com/php_tutorial/ajax-search-demo.htm
HTMLコード
<html>
<body>
<style>
#displayDiv
{
background-color: #ffeeaa;
width: 200;
}
</style>
<script type="text/javascript">
function ajaxFunction(str) {
var httpxml;
try {
// Firefox, Opera 8.0+, Safari
httpxml = new XMLHttpRequest();
}
catch (e) {
// Internet Explorer
try {
httpxml = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpxml = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("Your browser does not support AJAX!");
return false;
}
}
}
function stateChanged() {
if (httpxml.readyState == 4) {
document.getElementById("displayDiv").innerHTML = httpxml.responseText;
}
}
var url = "ajax-search-demock.php";
url = url + "?txt=" + str;
url = url + "&sid=" + Math.random();
httpxml.onreadystatechange = stateChanged;
httpxml.open("GET", url, true);
httpxml.send(null);
}
</script>
</head>
<body>
<form name="myForm">
<input type="text" onkeyup="ajaxFunction(this.value);" name="username" />
<div id="displayDiv">
</div>
</form>
</body>
</html>
PHP コード (ajax-search-demock.php)
<?
//***************************************
// This is downloaded from www.plus2net.com //
/// You can distribute this code with the link to www.plus2net.com ///
// Please don't remove the link to www.plus2net.com ///
// This is for your learning only not for commercial use. ///////
//The author is not responsible for any type of loss or problem or damage on using this script.//
/// You can use it at your own risk. /////
//*****************************************
//error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR);
////// Your Database Details here /////////
$dbservertype='mysql';
$servername='127.0.0.1';
$dbusername='test';
$dbpassword='test';
$dbname='sql_tutorial';
////////////////////////////////////////
////// DONOT EDIT BELOW /////////
///////////////////////////////////////
connecttodb($servername,$dbname,$dbusername,$dbpassword);
function connecttodb($servername,$dbname,$dbuser,$dbpassword)
{
global $link;
$link=mysql_connect ("$servername","$dbuser","$dbpassword");
if(!$link){die("Could not connect to MySQL");}
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
}
///////////////////// Main Code sarts ////////
$in=$_GET['txt'];
$msg="";
if(strlen($in)>0 and strlen($in) <20 ){
$t=mysql_query("select name, id from student where name like '$in%'");
while($nt=mysql_fetch_array($t)){
$msg.=$nt[name]."->$nt[id]<br>";
}
}
echo $msg;
?>
アップデート :
わかりました ENTER の問題は解決しました :D 本当に素晴らしいです!!.. もう 1 つリクエストをお願いします
入力が8文字に達したときだけデータを取得したい。出来ますか ?