在同一页面上显示echo数据库结果

时间:2013-04-30 00:14:22

标签: php html

我现在已经让我的数据库提取结果,但它会在PHP脚本页面(test.php)上提取它们。我想在表单页面的名为“DOB”和“email”的表单框中显示结果。

表单页面:

<form id="form_53" name="login" action="test.php">

<input type="text" name="username">

<input type="text" name="DOB">

<input type="text" name="email">

<input type="submit" style="position:absolute;>
</form>

PHP:

<?php 

$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name  

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

 $username = $_POST['username'];
  echo '</br>';
 $query = mysql_query("SELECT * FROM `members` WHERE `username`='$username'");

while($result = mysql_fetch_array($query)) {
//display
echo $result['DOB']; //I want this displayed on the 'DOB' form box
echo $result['email']; //I want this displayed on the 'email' form box
}
?>

2 个答案:

答案 0 :(得分:2)

您可以在表单元素的value属性中进行设置。例如:

<input type="text" name="DOB" value="<?php echo $result['DOB']; ?>" />

答案 1 :(得分:1)

您可以使用jQuery调用AJAX。我会修改PHP文件以JSON格式回显,以便可以轻松地解析响应。这使得您无需刷新页面。

编辑PHP(替换echo语句):

echo json_encode( array($result['DOB'], $result['email']) );

表单页面JavaScript:

$("#form_53").submit(function() {
    var un = $("input[name=username]").val();
    $.post("test.php", { username: un }, function(data) {
        data = JSON.decode(data);
        $("input[name=DOB]").val(data[0]);
        $("input[name=email]").val(data[1]);
    }
    return false;
}