我搜索了整个网络,似乎无法找到解决方案。我正在为个人搜索数据库。我可以使用姓氏,然后如果两个人姓氏相同,他们都会在我的页面上打印。我希望能够选择我想要的个体(或者例如)并点击下一个(带有空白表格的页面的超链接),这是我想要的个人信息(以及打印的内容)预填表格中的页面)它允许更加用户友好的方法,然后必须重新键入数据,并避免错过拼写公司名称或驱动程序许可证,例如。我已经多次使用了我的代码但是又来了。这是查找和打印搜索结果的代码。还没有单选按钮,因为我想弄明白这一点。
<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%' GROUP BY FIRSTNAME";
$sql= "SELECT * FROM contractor WHERE CONCAT(FIRSTNAME,' ',LASTNAME,' ', ARRIVAL)
like '%$searchTerm%'";
$query = mysql_query($sql);
$count=mysql_num_rows($query);
//array_unique($count);
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;
//echo array_unique($output);
}
else
echo "There was no matching record for the name " . $searchTerm;
}
?>
</div>
这是我的表单字段的代码,当然这是一个空表单,只是在提交后提交给数据库。
<form action="insert_submit.php" method="post" style="margin-left:35px;">
First Name: <input type = "text" name="FIRSTNAME" id="FIRSTNAME" />
Last Name: <input type = "text" name="LASTNAME" id="LASTNAME"/>
Purpose: <input type = "text" name="PURPOSE" id="PURPOSE"/>
<br>
</br>
Company: <input type = "text" name="COMPANY" id="COMPANY" />
DL #: <input type = "text" name="DRIVERL" id="DRIVERL" />
<br>
</br>
<input type="radio" name="STATUS" id="STATUS" value="Checked In">Log In
<br></br>
<input type="radio" name="STATUS" id="STATUS" value="Checked Out">Log Out
<br></br>
<input type="submit" value="Submit" >
<br>
</br>
</form>
答案 0 :(得分:0)
所以基本上你需要的是在第一页中有一个相同名称的lis,或者理想的一个名字,如:
内容,内容,内容,
FirstName,LastName FirstName,LastName
而不是单击其中任何一个,而不是用户被重定向到另一个页面,其中包含所选人员的所有详细信息。如果我找对你。
因此,您将用户ID传递给第二页。第二页上的php代码可以感谢从数据库中绘制用户详细信息并填充表单。
为此,您可以以逐行方式生成表单,也可以使用DomDocument tofind并填充相关的值字段。
第二页表单生成: 您选择具有id的行,而不是将其提取到名为$ array。
的数组中$array = mysql_fetch_array($query); //this query selected the row for the user with the id
echo '<form method="POST">'."\n";
echo '<input name="firstname" type="text" value="'.$array['firstname'].'">'."\n";
echo '<input name="lastname" type="text" value="'.$array['lastname'].'">'."\n";
echo '</form>';
我希望你现在能得到这个想法。
答案 1 :(得分:0)
所以你的输出行就像(清理以适应你的格式)
$output .= '<a href="'.$_SERVER['PHP_SELF'].'?userid='.$row['UNIQUEID'].'">
First Name: '.$row['FIRSTNAME'].'<br />
Last Name: '.$row['LASTNAME'].'<br />
Arrival: '.$row['ARRIVAL'].</a><br />';
并在页面中构建一个条件,如果你有UNIQUEID进来查找并填写表格,如
Company: <input type = "text" name="COMPANY" id="COMPANY" value="<?PHP echo $row['COMPANY']; ?>" />
编辑以适合您的数据库当然
示例代码格式
if(something){
do something
}else{
while(){
} # end while
} # easy to see this matches the if/else set of brackets
预先填充的其他信息
最简单的可能会在同一页面上。寻找进入页面的用户ID
if(!isset($_GET['userid'])){
# meaning we do not have a userid from a url that we generated above
# insert all your code to generate the links
}else{
# meaning we *have* a userid from a url that we generated above
# do your database query based on the userid such as
$sql='select * from mytable where userid=?';
$result=sqlsrv_query($db,$sql,array($_GET['userid']),array('Scrollable'=>'static'));
# or use mysqli, pdo or whatever... just watch for sql injection
$row=sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC));
# assuming we will not have more than one element returned
?>
First Name: <input type = "text" name="FIRSTNAME" id="FIRSTNAME" value="<?PHP echo $row['firstName']; ?>"/>
and so forth... that should get you started