带有动态信息/自动填充文本框的SQL文本框

时间:2012-05-12 12:10:05

标签: php javascript mysql html sql

我正在尝试创建一个连接到我的SQL数据库的网页,并从表中提取信息并将其放入文本框中。它获取的信息取决于输入到另一个文本框中的内容。基本上它是一个信息的“自动填充”。我很好奇这是否可能。

为了更好地理解这里是一个文本框的布局:

<html>
<head>
<?php
$con = mssql_connect("abc", "123", "password");
if (!$con)
  {
  die('Could not connect: ' . mssql_get_last_message());
  }

mssql_select_db("db1", $con);

$result = mssql_query("SELECT * FROM FormData");
<head>

<title>test</title>

</head>

<body>
    <h1>test</h1>

    <form action="#">

        <p>Enter ID</p>

        <input type="text" name="ID"/> 
        <input type="text" name="NAME"/> 
        <input type="text" name="LASTNAME"/> 
        <input type ="button" value="submit" onclick="check(ID)" />



    </form>
</body>

此处将ID输入到文本框中,然后按下提交按钮后,它会将我的sql数据库中的其余信息提取到下一个框中。我甚至不知道这是否可行,我是否可以将Javascript与此结合使用。我搜索过但在这个问题上找不到多少帮助。

我甚至不确定它是否可以在SQL中执行“if”语句 - 每当我尝试时由于语法不正确而导致500错误。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要做的就是提交表单,获取他们输入的ID。

如果尚未提交ID(他们第一次访问该页面,或者他们未能输入ID),则不应执行任何查询并创建一个空白$ row数组,如下所示:

$row = array("ID" => "", "NAME" => "", "LASTNAME" => "");

然后,您应该使用此数组<input type="text" name="NAME" value="<?php echo $row['NAME']; ?>"/>填充表单字段。

如果ID已被提交,则在SQL查询"SELECT * FROM FormData WHERE ID = $_POST['ID']"中使用此ID(注意:这是一个示例。您需要转义POST数据以防止SQL注入)。

然后,您需要将此结果提取到$ row数组$row = mysql_fetch_row($result)中,然后由您的字段用来填充该值。

整个过程可以使用AJAX完成,这样您就不必执行完整页面提交,但是根据您的示例,我提供的解决方案应该足够好。