我正在尝试创建一个连接到我的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错误。
答案 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完成,这样您就不必执行完整页面提交,但是根据您的示例,我提供的解决方案应该足够好。