php pdo代码从文本框中搜索和回显

时间:2015-02-07 11:45:07

标签: php pdo

我的表单有receipt_no文本框..

我需要搜索文本框模糊事件或文本框按键事件的数据。

来自这个rec​​eipt_no文本框。我需要在另一个文本框中搜索数据库和回显值......

请帮忙......

<?php
function  myFunction()
{
if(isset($_POST['receipt_no']))
{       
    $receipt_no = $_POST['receipt_no']; 
    $result = $database->getRow("SELECT receipt_no,scheme_name FROM scheme_master where receipt_no = :receipt_no",array(':receipt_no'=>$receipt_no));
    if($result!=0)
    {   
        while ($row = $result->fetchObject())
         {
          echo $row->scheme_name;
         }
    }
}
}
?>
<form action="" method="post">
    <input type="text"  name="receipt_no" onblur="myFunction()" />
</form>
此文本框中的

回显值---

<input type="text" value="<?=$scheme_name;?>" name="scheme" class="field size2" />

1 个答案:

答案 0 :(得分:0)

正确的两种方法,仅PHP和AJAX javascript一些已经提到过。

仅限PHP:

<? $db=new PDO();
if($_POST&&isset($_POST['submit'])){
    $result=$db->prepare('SELECT receipt_no,scheme_name FROM scheme_master WHERE receipt_no=:receipt_no');//not sure why you're entering an array?
    $result->bindParam(':receipt_no',$_POST['scheme'],PDO::PARAMETER);
    $result->execute();
    while($row=$result->fetch(PDO::FETCH_ASSOC)){
        echo$row['scheme_name'];
    }
}?>
<!--Form next-->
<form name='findReceipt' action='' method="POST">
    <input name='scheme' type='text' value='<?echo$scheme_name;?>'/>
    <input name='submit' type='submit' value='Get'/>
</form>

您不需要此方法的属性onblur属性。这是一个“自我”&#39;操作页面方法。

下一个方法是javascript方法,可以使用onblur属性:

myFunction(){
    var xmlhttp=XMLHttpRequest();
    xmlhttp.open('POST','getResult.php',false);
    xmlhttp.send("receipt_no="+this.value);//if this doesn't work, use the following line
    //document.getElementByName('scheme').value
    document.getElementById('resultHere').innerHTML=xmlhttp.responseText;
}

以上是一个非常基本的功能,它在IE5-6中不起作用,可能需要一些标题数据等等。对于那些喜欢愚蠢的jQuery库的人来说

$('input[name="scheme"]').blur(function(){
    var self=this;
    $.ajax({
        type:'POST',
        data:{receipt_no:$(self).value()},
        beforeSend:function(xhr){
            if($(self).value().length<5)xhr.abort();
        },
        success:function(result){
            $('#result').html(result);
        }
    });
}

有些人可能会争论使用GET方法来反对POST,但我更喜欢POST。