我想根据ID
号输入从数据库中检索3个信息。当我在<input id="id">
html标记中键入数字 5 时。获取相关号码的name
,age
,email
,并将其插入到每个结果的专用<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'];
}
}
答案 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);
}