如何将mysql结果回显到文本字段

时间:2013-04-30 19:55:36

标签: php html mysql

此脚本显示用户输入的特定电子邮件地址的数据。

下面的代码片段在页面顶部的文本字段中显示数据,但我想在文本正文的文本字段中显示数据。

echo '<input name="login" type="text" value="' . $result['name'] . '>';

我在上面的代码中做了哪些更改才能让我这样做。

<?php

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

$email = $_POST['textfield'];


        $db = new PDO('mysql:host='.$host.
                          ';dbname='.$db_name.
                          ';charset=UTF-8',
                    $username, $password);
        $stmt = $db->prepare('SELECT * FROM `orders` WHERE `email`=:email LIMIT 1');
        $stmt->bindValue(':email', $email, PDO::PARAM_STR);
        $stmt->execute();
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
    if($stmt->rowCount()>0)
{
echo '<input name="login" type="text" value="' . $result['name'] . '>';
}
else
{
    echo "Email not found in the database!";
}


  ?>

形式:

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

   <input type="submit" value="Track">
   <input type="text" username="textfield" value="">
   <input type="text" name="name" value="<?php echo $result['name']?>"> //I want to display results here

</form>

4 个答案:

答案 0 :(得分:2)

如果两个代码都存在于同一个文件中..这将起作用

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

如果你想检查是否有返回的行,你可以使用

<input type="text" name="name" value="<?php echo ($stmt->rowCount()>0) ? $result['name'] : "" ?>">
  

编辑了代码,以便您知道自己想要做什么

首先:替换此代码

if($stmt->rowCount()>0)
{
    echo '<input name="login" type="text" value="' . $result['name'] . '>';
}
else
{
    echo "Email not found in the database!";
}

保持$result = $stmt->fetch(PDO::FETCH_ASSOC);

 if($stmt->rowCount()<=0) echo "Email not found in the database!";

第二:现在在HTML部分

<input type="text" name="name" value="<?php echo ($stmt->rowCount()>0) ? $result['name'] : "" ?>">

答案 1 :(得分:1)

只要您不破解$result,您就可以:

<input type="text" name="name" value="<?php echo $result['name']; ?>"> //I want to display results here

答案 2 :(得分:0)

echo '<input name="login" type="text" value="' . $result['name'] . '">';

只需在echo'字符串中添加双引号。

答案 3 :(得分:0)

这很容易实现。当然,请确保$ results数组包含在您正在处理的所需HTML页面的会话中。

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

  <input type="submit" value="Track">
  <input type="text" username="textfield" value="">
  <input type="text" name="name" value="<?php echo $results['name']?>"> //I want to display results here

</form>