如何从mysql中检索多个结果并将每个结果输入到html元素中

时间:2013-09-26 03:02:08

标签: php jquery html

我想根据ID号输入从数据库中检索3个信息。当我在<input id="id"> html标记中键入数字 5 时。获取相关号码的nameageemail,并将其插入到每个结果的专用<input>框中

如何从查询中获取多个结果,然后在<input>标记上输入结果

<input id="name">  //insert name from db
<input id="age">  //insert name from db
<input id="email">  //insert name from db

下面是我的代码,它只从数据库中提取name并将其输入<input id="name">标记。

我的Jquery

var id = $('input#id').val(); //get value of input box
$.post('./ajax/getdata.php', {id: id}, function(data) //pass this to getdata.php
{
$('input#name').val(data);

}

我的getdata.php

if (isset($_POST['id']) === true && empty($_POST['id']) === false) 
{
require '../connect.php';

$query = "SELECT * FROM `members` WHERE `memberNo` = '" . mysql_real_escape_string(trim($_POST['id'])). "' ";
$result = $db->query($query);

   while ($row = $result->fetch_assoc()) 
   {
   echo $row['firstname'];

   }
}

1 个答案:

答案 0 :(得分:0)

首先,由于您的id必须是唯一的,因此您无需执行while循环。

由于您正在返回ajax调用,因此JSON可能是最佳数据格式(以及jQuery的默认格式)。

所以你的getdata.php:

if (isset($_POST['id']) === true && empty($_POST['id']) === false) 
{
    require '../connect.php';

    $query = "SELECT * FROM `members` WHERE `memberNo` = '"
            . mysql_real_escape_string(trim($_POST['id'])). "' ";
    $result = $db->query($query);
    $row = $result->fetch_assoc()
    // setting the appropriate content type
    header('Content-Type: application/json');

    echo (json_encode($row));
}

您可以在success回调中处理此问题:

var id = $('input#id').val(); //get value of input box
$.post('./ajax/getdata.php', {"id": id}, function(data)
{
    $('input#name').val(data.firstname);
    $('input#age').val(data.age);
    $('input#email').val(data.email);
}