как получить данные из базы данных при первом нажатии клавиши - PullRequest
0 голосов
/ 23 марта 2011

у меня есть текстовое поле

<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);

оригинальная проблема состоит в том, что при первом нажатии клавиши будет показана вся таблица, а при втором нажатии клавиши будет принято значение первого нажатия в качестве поиска, что позволяет предположить, когда я пишу n вВ текстовом поле будет показана вся таблица транспортного средства, и когда я нажму k , тогда будет показана только запись с номером транспортного средства, начиная с n ., а когда я нажму любую другую букву, она покажеттолько запись с транспортным номером = nk * я хочу, чтобы при нажатии n в текстовом поле отображалась только запись транспортных средств с номером автомобиля, начиная с n *

1 Ответ

2 голосов
/ 23 марта 2011

Попробуйте использовать событие onKeyUp вместо onKeyPress

, например: <input type="text" class="text" id="txt_sh_vid" onKeyUp="vhc_record()" maxlength="4">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...