我是堆叠溢出的新手,非常感谢所有的帮助。我目前有一个基本列的数据库,名称id公司等。我创建了一个搜索查询,根据名字,姓氏或时间戳日期在这个列表中移动。我能够在搜索的查询页面上打印结果,但希望它在与新条目相同的表单页面上预填充。我能够从查询页面链接到表单页面,但不知道如何在表单页面上填充这些结果。
我当前的查询页面打印如下:
<!DOCTYPE html>
<html>
<head>
<title>
</title>
</head>
<body>
<div id="container" style="width:750px;background-color:#FFFE8D;margin-left: 250px">
<div id="Back" style="float:left; background-color:#FFFE8D;">
<form action="http://localhost/contractor/existingcontractorpage3.php">
<input type="submit" value="Back">
</form>
</div>
<div id="Is this the Contractor?" style="float:right; background-color:#FFFE8D;">
<form action="http://localhost/contractor/redirectcontractorpage.php">
<input type="submit" value="Next">
</form>
</div>
<div id="info" style="width:750px;height:95px; text-align: center">
<h3> If this is the contractor, please move on to the next page using the corresponding button above. </h3>
<h3> Please enter the exact information on the next page. </h3>
</div>
<div id="results" style="width:750px;height:225px; text-align: center">
<?php
$host = "localhost"; //server
$db = ""; //database name
$user = ""; //databases user name
$pwd = ""; //password
mysql_connect($host, $user, $pwd) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$searchTerm = trim($_GET['searchname']);
// Check if $searchTerm is empty
if($searchTerm == "")
{
echo "Enter name you are searching for.";
exit();
}
else
{
$sql = "SELECT * FROM contractor WHERE CONCAT(FIRSTNAME,' ',LASTNAME,' ', ARRIVAL) like '%$searchTerm%'";
$query = mysql_query($sql);
$count=mysql_num_rows($query);
if(($count)>=1)
{
$output = "";
while($row = mysql_fetch_array($query))
{
$output .= "First Name: " . $row['FIRSTNAME'] . "<br />";
$output .= "Last Name: " . $row['LASTNAME'] . "<br />";
$output .= "Arrival: " . $row['ARRIVAL'] . "<br />";
}
echo $output;
}
else
echo "There was no matching record for the name " . $searchTerm;
}
?>
</div>
<br> </br>
<br> </br>
</body>
</html>
现在理想情况下我希望结果在此处弹出,如果可能在每个结果的右侧有一个单选按钮(如果有多个),则选择并继续到表单页面以预先填充每个字段。表单页面就像这样:
<form action="insert_submit.php" method="post">
First Name: <input type = "text" name="FIRSTNAME" id="FIRSTNAME" />
<br>
</br>
Last Name: <input type = "text" name="LASTNAME" id="LASTNAME"/>
<br>
</br>
Purpose: <input type = "text" name="PURPOSE" id="PURPOSE"/>
<br>
</br>
Company: <input type = "text" name="COMPANY" id="COMPANY" />
<br>
</br>
Who here to see: <input type = "text" name="WHOHERETOSEE" id="WHOHERETOSEE"/>
<br>
</br>
<input type="submit" value="Submit">
<br>
</br>
</form>
非常感谢!希望尽快收到回复,因为这是我项目的最后一根稻草。
答案 0 :(得分:1)
最简单的方法是从数据库中提取数据,就像您要将表单添加到页面中一样。然后在你的循环中打印出表单字段:
您需要为每个收音机指定一个唯一的名称。您可以使用递增ID,也可以将其与行名称相同。
方法1:
while($row = mysql_fetch_array($query))
{
$output .= "<label>First Name: " . $row['FIRSTNAME'] . "</label><input type=\"radio\" name = \"radio[]\" value=\"".$row['FIRSTNAME']." ".$row['LASTNAME']."\"/>";
..
..
}
然后,当提交from时,您可以使用GET或POST从单选按钮获取值。
设置name =“radio []”将所有值放在一个数组中,一旦提交表单,就可以在下一页上获得。
在表单提交后的下一页上,$ _POST ['radio']或$ _GET ['radio']将返回您指定的所有值的数组。注意上面是如何填充value属性的。为每一行执行此操作。
使用my_sql连接时也要小心。它从PHP 5.5.0开始折旧。使用mysqli或PDO代替它,它更安全。 http://ie1.php.net/function.mysql-connect
检查此链接。它比较并提供了两个例子
答案 1 :(得分:0)
我没有看到您在哪里连接查询搜索和表单页面,但您可以在URL中创建包含GET参数中的数据的链接,因为我在这些字段中看不到密码或私有材料。然后使用php填充表单。
$url = "your_form_page?";
while($row = mysql_fetch_array($query))
{
$url .= "fname=" . $row['FIRSTNAME'];
$url .= "&lname=" . $row['LASTNAME'];
$url .= "&arrival=" . $row['ARRIVAL'];
}
// $url = your_form_page?fname=bob&lname=jones&arrival=blah
然后填写表格..
<form action="insert_submit.php" method="post">
First Name: <input type = "text" name="FIRSTNAME" id="FIRSTNAME" value="<?php echo $_GET['fname']; ?>" />
希望这有助于或至少让您思考正确的方向。