当他/她的ID在另一个文本框中输入时,如何在文本框中显示和显示学生的姓名

时间:2014-02-16 10:57:19

标签: php jquery html mysql

我有一张表格:

<from method="post">
  Student ID: <input type="text" id="std_id"/>
  Student Name: <input type="text" id="std_name"/>
  Class: <input type="text" id="class"/>

  <input type="submit" name="submit_form"/>
</form>

我想要的是:当我在文本框中键入学生的ID时,他/她的名字和class应该从数据库中获取,并且应该自动显示在std_name文本框中,而不使用提交按钮。

数据库中表格的名称为student_info。我已经在单独的php页面connection.php中创建了一个连接文件。

有人可以帮助我吗?这是我第二次提出同样的问题,因为我在第一个问题中找不到合适的答案。感谢。

&LT; --------------------------------------------- ------------&GT;

我执行了以下操作但名称文本框中没有显示任何内容。以下是我所做的代码:

在主页上:

<script>
  $("#std_id").on('input propertychange', function(){

    $.post('get_data.php', { std_id:$("#std_id").val() }).done(function(data){

        $("#std_name").val(data.std_name);

    });
  });
 </script>

在get_data.php上

<?php
require_once('connection.php');

if (isset($_POST['std_id'])) {


    $select = mysql_query("SELECT * from student_timetable, student_info 
               WHERE student_timetable.std_id='".$_POST['std_id']."'
               AND student_timetable.std_id = student_info");

    $row=mysql_fetch_array($select);

    $json_arr[] = array('std_name' => $row['std_name']);

    header('Content-type: application/json');
    echo json_encode($json_arr);
} 

?>

6 个答案:

答案 0 :(得分:1)

在您的主页上:

$("#std_id").on('input propertychange', function(){

    $.post('get_data.php', { std_id:$("#std_id").val() }).done(function(data){

        $("#std_name").val(data.std_name);
        $("#class").val(data.class);

    });

});

get_data.php

<?php

if (isset($_POST['std_id'])) {


    // Fetch data from DB with post value
    // While fetching,  push values to json array, like: 
    // $json_arr[] = array('std_name' => $row['std_name'], 'class' => $row['class']);

    header('Content-type: application/json');
    echo json_encode($json_arr);
} 

?>

答案 1 :(得分:1)

嗨,你真的要考虑学习AJAX。如果你想通过Jquery找到解决方案,你可以去。

HTML:

<from method="post">
  Student ID: <input type="text" id="std_id"/>
  Student Name: <input type="text" id="std_name"/>
  Class: <input type="text" id="class"/>

  <input type="submit" name="submit_form"/>
</form>

使用Javascript:

$(document).ready(function{
   $.post("connection.php",{},function(result}{
      var getJSON = JSON.parse(result);
       $("#std_name").val(getJSON.StudentName);
        $("#class").val(getJSON.class);
    });
});

导入JQUERY并使用ready函数首次获取。

PHP:

<?php
   $result[0]['StudentName']='abc';
   $result[0]['class']='Class 5';  
   echo JSON.decode($result);
?>

这是非常简单的PHP示例,您可以随心所欲地扩展它。从PHP中获取。

答案 2 :(得分:0)

$。AJAX()

使用此jquery函数..研究

答案 3 :(得分:0)

由于jquery是客户端语言,因此无法直接连接到php。您可以一起使用Ajax和JSON完成此任务,也可以创建自己的Web服务。

Ajax:https://api.jquery.com/jQuery.ajax/
JSON:http://www.json.org/

答案 4 :(得分:0)

为了做到这一点,你应该使用AJAX。考虑使用jQuery。
工作流程如下:

  • 准备一个PHP文件,该文件将根据从表单收到的ID来回显学生的姓名;
  • 向您的Id字段添加事件监听器(例如,onBlur - 因此当您将焦点从Id字段中移出时,您将获得您的名字);
  • 将Id值传递给将回显名称的PHP文件;
  • 将从PHP文件中获取的结果添加到“名称”字段中。

答案 5 :(得分:0)

获取jquery库(//code.jquery.com/jquery-1.10.2.min.js)

向connection.php发出ajax请求(我想它会将studentID作为参数并返回其余部分)

在响应到达时($ .ajax的成功参数)获取响应并编辑这两个输入元素。

P.S。你不会得到一个正确的答案,因为这是一个完整的过程。你需要上一课而不仅仅是帮助,因为你被困在某个地方。