我知道如何使用纯PHP实现这一点,但我需要在不重新加载页面的情况下实现这一点.jQuery是否可以有效地提取一些数据库结果(基于用户在表单的第一个文本字段中输入的内容),然后用从db查询中提取的数据填充剩余的一些字段?

从本质上说,我希望看到用户离开文本字段(通过跳出或单击下一个字段),然后使用在该字段中输入的值提交查询,然后使用页面重新加载填充后续字段.

我熟悉jQuery的基础知识,但我还没有使用它做过类似的操作,即从服务器拉回数据并try 填充到客户端.

任何关于如何最好地开始这项工作的建议/例子都将不胜感激.谢谢

  • 尼古拉斯

推荐答案

假设此示例HTML:

<input type="text" name="email" id="email" />
<input type="text" name="first_name" id="first_name" />
<input type="text" name="last_name" id="last_name" />

您可以使用以下javascript:

$("#email").bind("change", function(e){
  $.getJSON("http://yourwebsite.com/lokup.php?email=" + $("#email").val(),
        function(data){
          $.each(data, function(i,item){
            if (item.field == "first_name") {
              $("#first_name").val(item.value);
            } else if (item.field == "last_name") {
              $("#last_name").val(item.value);
            }
          });
        });
});

然后就是一个PHP脚本(在本例中是lookup.PHP),它在查询字符串中接收一封邮箱,并返回一个JSON格式的数组,其中包含要访问的值.这是实际访问数据库以查找值的部分:

<?php
//look up the record based on email and get the firstname and lastname
...

//build the JSON array for return
$json = array(array('field' => 'first_name', 
                    'value' => $firstName), 
              array('field' => 'last_name', 
                    'value' => $last_name));
echo json_encode($json );
?>

你会想做一些其他的事情,比如清理邮箱输入等等,但应该让你朝着正确的方向前进.

Database相关问答推荐

无法连接MatrixOne(来自GitHub)

Active Record - 获取数据库中的第二个、第三个.. 项(无 ID)

add_index 到数据模型 - Ruby on Rails 教程

我应该使用哪种数据库模型在运行时动态修改实体/属性?

如何开始使用 SQLCipher for android?

使用 Mongoose 删除索引的推荐方法是什么?

su postgres:Sorry?

nodejs和数据库如何通信 ?

如何禁用 Django 查询缓存?

设计用于存储多人游戏的各种要求和统计数据的表格

我可以在 mysql 中的 select 语句上启动触发器吗?

Redis:数据库大小与内存的比率?

Django 数据库值的最佳推荐方式是什么?

哪个提供更好的性能一个大连接或多个查询?

在 postgresql 中将 varchar 列升级为枚举类型

Fluent NHibernate 的类映射生成器

dbvisualizer:在 Select 查询中设置最大行数

为什么负 id 或零被认为是不好的做法?

SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects

位图索引有何帮助?