php - JQuery 和 PHP 查找字段

标签 php javascript jquery mysql html

我遵循了有关如何创建动态搜索 MySQL 数据库中的表的查找字段的教程 - 目的是通过邮政编码处理联系人查找。我已经进行了搜索,并且值(在页面上)被插入到字段中,但是我需要将所选记录的 id 获取到输入字段的 value="idhere"参数中。我已经添加了下面的 PHP 和 HTML,任何人都可以看一下并帮助解决我的问题。

JavaScript 和 CSS

        <script type="text/javascript">
        function getSuggestions(value) {
            if(value != ""){ 
            $.post("lookup.php", {contactPart:value}, function(data) {
                $("#suggestions").html(data);
                runCSS();
            });
            }else{
                removeSuggestions();
            }
        }

        function removeSuggestions() {
            $("#suggestions").html("");
            stopCSS();  
        }

        function addText(value) {
            $("#inputContact").val(value);
            $("#inputContact").val() {
                $(this).val()
            }   
        }

        function runCSS() {
            $("#suggestions").css({
                'border' : 'solid',
                'border-width' : '1px'
            });
        }

        function stopCSS() {
            $("#suggestions").css({
                'border' : '',
                'border-width' : ''
            });
        }
        </script>

        <style type="text/css">     
        #suggestions {
            text-align: left;
            padding-left: 3px;  
        }

        #link:hover {
            background-color: #f0f0f0;
            cursor: default;    
        }
        </style>

HTML

<input type="text" name="userA" id="inputContact" onblur="setTimeout('removeSuggestions()', 200)" onkeyup="getSuggestions(this.value);" value="idhere" />
<div id="suggestions"></div>

PHP

<?php 

mysql_connect("127.0.0.1", "root", "root")or die(mysql_error());
mysql_select_db("gEntry")or die(mysql_error());

$contactPart = mysql_real_escape_string(addslashes($_POST['contactPart']));
$result = mysql_query("SELECT id, title, firstname, lastname, postcode FROM contact WHERE postcode LIKE '%".$contactPart."%'")or die (mysql_error());

while ($row = mysql_fetch_assoc($result)) {
    echo "<div id='link' onClick='addText(\"".$row['id']. ' - ' .$row['title']. ' ' .$row['firstname']. ' '.$row['lastname']."\");'>" . $row['id'] . ' - ' . $row['title'] . ' ' . $row['firstname'] . ' ' . $row['lastname'] . ' - ' . $row['postcode'] .  "</div>";
}

?>

我使用标准 mysql 语法,因为 mysqli 无法在我的服务器上运行。

提前致谢

最佳答案

我不知道你想把你的id放在哪里,但我建议你返回json对象,这样你就可以做你想做的事。我会这样做:

    $row = mysql_fetch_assoc($result);

    $json['id'] = $row['id'];
    $json['title'] = $row['title'];
    $json['firstname'] = $row['firstname'];
    $json['lastname'] = $row['lastname'];
    echo json_encode($json);

然后在客户端,您可以构建您的 div 并将您的 id 放在您想要的位置:

   $.post("lookup.php", {contactPart:value}, function(data) {
        var message = data.id+" - "+data.title+" "+data.firstname+" "+data.lastname;
        var resultdiv = "<div id='link' onClick='addText('"+message+"')>"+message+"</div>";
        $("#suggestions").html(resultdiv);
        //put your data.id where you need to put it
        $(this).val(data.id);
        runCSS();
        }, "json");

关于php - JQuery 和 PHP 查找字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6503584/

相关文章:

php - 为什么我的 mysql 服务无法使用 xampp 启动?

php - 我在这里做错了什么? [php]

jquery - 使 animate() 在 $(window).scroll() 上平滑

php - 可以使用 PHP 短标签吗?

javascript - 使用 jquery 获取子字符串

javascript - 动态验证——只需一个附加

javascript - 可视化能源效率水平

javascript - 如何使用 jquery-ui 仅突出显示 div 一次?

javascript - jQuery 上下文菜单不工作

php - array_search 返回错误的键