簡體   English   中英

如何獲取通過echo創建的下拉列表的選定值?

[英]How can I get the selected value of a dropdown list created via echo?

我一直在使用以下方法在頁面的下拉列表中獲取所選項目的值。

 $field = $_POST['dropdownlistname'];

但是,當我通過回顯創建下拉列表時,此操作將無效。 以下是我的表格。

<form name="searchForm" action="newCustomerSearchform.php" method="post">
   <label><span></span> <input type="text" name="searchDB" /></label>
 <button type="submit" name="btnSearch" value="Search"  id="btnSearch" onclick="this.form.action">Search</button></label>

<?php 
   echo  '<select name="customers">';
     foreach ($_SESSION['names'] as $option => $value) {
                 echo  '<option value='.$value['ID'].'>'.$value['First_Name'].' '.$value['Surname'].'</option>';
}
                  echo  '</select>';


$test = $_POST['customers'];
echo $test;
</form>

提交表單后,將在newCustomerSearch.php上運行以下查詢

<?php
include 'newCustomer.php';
connect('final');


    $searchtext = $_POST['searchDB']; 
    $searchtext = htmlspecialchars($searchtext); // stop HTML charkacters
    $searchtext = mysql_real_escape_string($searchtext); //stop SQL injection
    $query = "SELECT * FROM customer WHERE First_Name LIKE '%$searchtext%'";
    $data = mysql_query($query) or die(mysql_error());


    $Customers = array();
    $colNames = array();
    while($row = mysql_fetch_assoc($data)){// puts data from database into array, loops until no more

            $Customers[] = $row;

        }
         $anymatches = mysql_num_rows($data); //checks if the querys returned any results
                if ($anymatches != 0) {
                     $_SESSION['names']=$Customers;
                                 $colNames = array_keys(reset($Customers));




    }

            if ($anymatches == 0) 
                    { 
                        echo "Sorry, but we can not find an entry to match your query<br><br>"; 
                    } 




header("location: newCustomer.php");
?>

然后,newCustomer頁面將重新加載渲染的下拉列表,其中包含查詢返回的所有行。

然后,我想在下拉列表中獲取項目的值。 無需重新提交表格。

在后續請求將其回傳給您之前,您將沒有選擇框中的值。

您需要條件邏輯說

  • 用戶是第一次獲取頁面嗎?
    • 渲染選擇
  • 用戶是否在填寫表格后將頁面提交給我?
    • 存取$_POST

無論您如何生成下拉菜單,在創建整個頁面,將其發送給用戶,然后以另一種形式化腳本接收用戶的響應之前,下拉菜單都沒有值。

因此,您需要代碼來創建頁面,並需要代碼來閱讀讀者的回復。 你們都在做嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM