2014-06-05 32 views
0

我是堆棧溢出新手,非常感謝所有幫助。我目前有一個數據庫,包含基本列,名稱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

我沒有看到連接查詢搜索和表單頁面的位置,但是您可以創建包含GET參數中的數據的鏈接,因爲我在這些URL中沒有看到密碼或私有資料領域。然後使用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']; ?>" /> 

希望這有助於或至少可以讓你在正確的方向思考。

+0

我想了解你列出的過程。我得到的錯誤與while語句和循環中的新內容有關。我還沒有在表單和查詢頁面之間建立連接。它只是一個超鏈接去表單頁面,是一個手動輸入。還有,如果有兩個姓氏相同的人呢? – user3711444

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']."\"/>"; 
    .. 
    .. 
} 

然後,您將能夠通過從提交時使用GET或POST來從單選按鈕的值。

設置名稱=「radio []」將所有值放入一個數組中,一旦提交表單,您就可以在下一頁獲取這些值。

在表單提交後的下一頁上,$ _POST ['radio']或$ _GET ['radio']將返回一個包含您指定的所有值的數組。注意上面的值屬性是如何填充的。爲每一行做這件事。

還要小心使用my_sql連接。它從PHP 5.5.0開始折舊。改用mysqli或PDO,它更安全。 http://ie1.php.net/function.mysql-connect

查看此鏈接。它比較並提供了兩個例子:

+0

正確地在每個結果旁邊彈出單選按鈕。但是當我點擊下一個按鈕時,信息會丟失,並且不會預先填充字段。 – user3711444

+0

編輯帖子,看上面 – mickzer

+0

即時通訊不知道這個代碼發生了什麼。它只是打印firstname,並不打印多個案例。 – user3711444