如何在第一次按键时从数据库中获取数据

时间:2011-03-23 14:57:38

标签: php javascript html ajax

我有一个文本字段

<input type="text" class="text" id="txt_sh_vid" onKeyPress="vhc_record()" maxlength="4">

当我按下键时,它将调用一个函数i js

function vhc_record()
{
var  data='vhc='+document.getElementById('txt_sh_vid').value;
 loadXMLDoc('ship/vehicle_ship/','div_vhc',data);
   document.getElementById('div_vhc').style.visibility="visible";
}

它将获取文本字段值并从数据库中搜索结果

<?php 
$vhc=$_POST['vhc'];
$con=mysql_connect("localhost","root","");
if(!$con)
{
die ("error".mysql_error());
}
$db_found=mysql_select_db("oil",$con);
if($db_found)
{


$qry="select * from vehicle where vehiclenumber like '$vhc%'";
$result=mysql_query($qry);
echo "<table class='select'>
<tr>
<th>id</th>
<th>vehiclenum</th>
<th>capacity</th>
<th>owner</th>

</tr>
";

while($r = mysql_fetch_assoc($result)){

    echo"<tr onclick='vhc_inv()'>";
    echo"<td id='vhcid'>" .$r['vehicleid']."</td>";
echo"<td id='vhcl'>" .$r['vehiclenumber']."</td>";
echo"<td>".$r['capacity']."</td>";
echo"<td>".$r['owner']."</td>";
echo "</tr>";}
echo "</table>";


}


mysql_close($con);

原始问题是它将在第一个按键上显示整个表格,在第二个按键时它会将第一个按键值作为搜索 让我们假设 当我在textfield中写 n 时它将显示整个车辆表,当我按下 k 时,它将只显示车辆编号从 n 。当我按任何其他字母时,它只会显示有车辆编号= nk 的记录 * 我想要的是,当我在文本字段中按n时,它只会显示车辆编号从n *

开始的车辆记录

1 个答案:

答案 0 :(得分:2)

尝试使用onKeyUp事件而不是onKeyPress

例如: <input type="text" class="text" id="txt_sh_vid" onKeyUp="vhc_record()" maxlength="4">