我有一个注册表单,我喜欢使用mySQL查询将数据检索到表单输入字段。
这是很长形式的一部分:
<form class="form-horizontal" id="registration" method='post' action='ConnectDB.php' onsubmit='return ValidateForm(this);'>
<fieldset>
<h1 style="margin-top: px;float:right; color:#62A1D5"><br><b>registration</b></h1>
<table id="TBackGround">
<td style="padding-left:10px; padding-right:10px;">
<p id="pd" style="margin-top:5px; margin-right:2px; font-size:16px; text-decoration:underline"><b><br>details:</b><p>
<p style="line-height: 1.3em" class="details">
<div class="control-group">
<label class="control-label">ID </label>
<input type="text"name="studentID" align= "right" class="textbox" ><span id="errorID"></span> <br/>
</div>
<div class="control-group">
<label class="control-label" >First name</label>
<input type="text" name="Fname" class="textbox" ><span id="errorFirstName"> <br/>
</div>
</form>
如何将要重新加载的数据设置为表单的输入字段? 我有一个查询来检索记录的ID,但我不知道如何将整个查询结果设置为字段。
我的php查询:
<?php
if(isset($_POST['submit']))
{
$query = $_POST['query'];
$min_length = 1;
if(strlen($query) >= $min_length)
{
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
echo "<table border='0' width='300' align='center' cellpadding='1' cellspacing='1'>";
echo "<tr align='center' bgcolor='#002C40'>
?>
<td height='35px' width='150px'>id</td> <td>first name</td>
</tr>";
$raw_results =
mysql_query("SELECT * FROM student WHERE (`idStudent` LIKE '%".$query."%') OR (`FirstName` LIKE '%".$query."%')");
if(mysql_num_rows($raw_results) > 0)
{
while($results = mysql_fetch_array($raw_results))
{
echo "<tr align='center' bgcolor='#0f7ea3'>
<td height='25px'> "
.$results['idStudent']."</td> <td>".$results['FirstName']."</td>
</tr>" ;
}
}
else{
echo "<tr align='center' bgcolor='#6C0000'>
<td colspan='2' height='25px'>No results</td><tr>";
echo "</table>";
}
}
else{
echo "Minimum length is ".$min_length;
}}
?>
答案 0 :(得分:1)
您需要从php文件输出表单的布局。 这个小例子可以帮到你。
文件register.php
if (!isset($_POST['submit'])) {
mysql_connect();
$res = mysql_query("SELECT * FROM users WHERE user_id=1");
$user = array_map('htmlspecialchars', mysql_fetch_assoc($res));
echo <<<CUT
<form action="register.php" method="post" >
<lable>Name:</label> <input type="text" name="name" value="{$user['name']}" />
<lable>Country:</label> <input type="text" name="name" value="{$user['country']}" />
<input type="submit" name="submit" value="Submit" />
</form>
CUT;
} else {
//handle submited data here
}
答案 1 :(得分:0)
好的,基础知识!
您有一个带有输入元素的表单。通过将表单发送到服务器,服务器端脚本可以获取表单元素的值。
看看这个:
<form action="the_script_location.php" method="post">
<input type="text" name="element1" />
<input type="submit" name="send" />
</form>
在服务器端脚本上,您现在可以从以下形式获取值:
<?php
if( isset( $_POST[ 'send' ] ) ){
$var = $_POST[ 'element1' ];
//now you can use the var for an query to your database
//please note: this very basic, without any security of injection
$res = mysql_query( 'SELECT `any` FROM `anyTable` WHERE `any` LIKE \'%'.$var.'%\'' );
if( mysql_num_row( $res ){
$row = mysql_fetch_assoc( $res ); //get one (first) result
}
}
?>
现在您可以更新表单:
<form action="the_script_location.php" method="post">
<input type="text" name="element1" value="<?php isset( $row[ 'your_filed_in_database' ] ) ? $row[ 'your_filed_in_database' ] : '' ?>" />
<input type="submit" name="send" />
</form>