在 PHP Select Dropdown 中使用选定的选项作为变量

Posted

技术标签:

【中文标题】在 PHP Select Dropdown 中使用选定的选项作为变量【英文标题】:Use selected Option as variable in PHP Select Dropdown 【发布时间】:2017-11-08 09:33:36 【问题描述】:

我正在使用 php 从 Azure SQL 数据库中提取数据,并成功创建了一个下拉(选择)框,其中包含从数据库中提取的选项。 SQL 查询返回 2 列,Title 和 Cycle_ID。

我已将标题设置为文本字符串,并将 Cycle_ID 设置为值。 我现在想将当前选择的值 (Cycle_ID) 存储在一个变量 (MyVariable) 中,我将在 SQL 查询中用于我正在创建的下一个下拉框,即 WHERE Cycle_ID = MyVariable。 这样,用户在通过我的下拉框向下工作时逐渐缩小他们的选择范围。 我当前的代码如下,但我不知道如何创建当前选择并将其存储到 MyVariable。

<?php
//create the database connection and define the query
$serverName = "myserver";
$connectionOptions = array(
    "Database" => "mydatabase",
    "Uid" => "mysqlaccount",
    "PWD" => "mypassword"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);

//defines cycle query
$cyclesql= "SELECT [Cycle_ID]
      ,[Title]
  FROM [ods].[Cycle]
  WHERE End_Date > DATEADD(month,-6,GETDATE()) AND Updated IS NOT NULL
  ORDER BY Cycle_ID Asc";
$cycleResults= sqlsrv_query($conn, $cyclesql);

if ($cycleResults == FALSE)
    echo (sqlsrv_errors());
?>

<html>
<body>

<form action="cyclefile.php" method="post"> 
<div id="select">
<p>Select the week:</p><select name='Week'>
<option value="">Select...</option>
<?php
//starts loop
while ($row = sqlsrv_fetch_array($cycleResults, SQLSRV_FETCH_BOTH)) 
//defines cycle variable
$cycle = $row['Title'];
//defines cycle_id variable
$cycle_id = $row['Cycle_ID'];
//displays cycle variable as option in select (dropdown) list and cycle_id as value 
echo '<option value="'.$cycle_id.'">'.$cycle.'</option>';

?>
</select>
</div>
</form>
</body>
</html>

【问题讨论】:

如果您不想重新加载网页,您将不得不使用 javascript。如果您不介意,则使用该变量作为 GET 构建一个新 URL,并构建它以显示新的下拉框 当您发回表单时,将有一个变量$_POST["Week"] 可用,其中包含该下拉列表中所选选项的ID。或者,如果您想在刷新页面之前在 Javascript 中使用值客户端,请澄清这一点,无论如何您都可以谷歌搜索它的示例。 【参考方案1】:

我建议您对选择进行 ajax 调用并传递选定的值以在另一个文件中处理您的结果,您可以在其中运行您的查询。

<select name="cycle_data" id="cycle_id">
   <option value="cycle1" > Cycle 1</option>
   <option value="cycle2" >Cycle 2</option>
</select>

然后让我们做一个脚本:

 <script type="text/javascript">
   $(document).ready(function() 
   $("#cycle_id").change(function() 
   var cycle_data = $(this).val(); 
   var dataString = "cycle_data="+cycle_data; 

    $.ajax( 
    type: "POST", 
    url: "get-data.php", 
    data: dataString, 
    success: function(result) 
      // Process your result here
    
    );
    );
   );
</script>

【讨论】:

以上是关于在 PHP Select Dropdown 中使用选定的选项作为变量的主要内容,如果未能解决你的问题,请参考以下文章

没有 Bootstrap 库的 Angular Formbuilder Select 和 Dropdown

在 IOS Safari 上使用 Select (Dropdown) 的 JQuery 显示/隐藏问题

如何在 v-select 中为 vue-dropdown 显示名称?

Select2 Dropdown 动态添加、删除和刷新项目

如何在不使用Select类的情况下从Dropdown中选择值,因为我的下拉列表框中的列表框未选中?

如何通过Selenium和Python从没有Select标签的Dropdown中选择最后一个值