在PHP中获取下拉框的选定值

6
我正在使用以下代码填充下拉框:

我正在使用以下代码填充下拉框:

<select id="select_catalog">
<?php 
$array_all_catalogs = $db->get_all_catalogs();
foreach($array_all_catalogs as $array_catalog){?>
<option value="<?= $array_catalog['catalog_key'] ?>"><?= array_catalog['catalog_name'] ?></option>  

现在我该如何使用PHP获取选定的选项值(我有使用JavascriptjQuery获取选定项目的代码),因为我想选择的值执行数据库查询。

非常感谢您的帮助。谢谢...


你只是展示了渲染下拉框的代码。请展示一下你的jQuery代码,用于向服务器提交数据。如果不需要使用AJAX,你可以直接在$_POST数组中访问所选值。 - F21
4个回答

21

你需要在 <select> 标签上设置一个名称,如下所示:

<select name="select_catalog" id="select_catalog">

你可以在 PHP 中使用以下代码获取它:

$_POST['select_catalog'];

6

你不能只传递一个名称属性并将其包装在表单中吗?

<form id="form" action="do_stuff.php" method="post">
    <select id="select_catalog" name="select_catalog_query">
    <?php <<<INSERT THE SELECT OPTION LOOP>>> ?>
    </select>
</form>

然后查找 $_POST['select_catalog_query']


1
当我使用 $_POST['select_catalog_query'] 时,我收到一个错误:'在第blah blah行未定义索引'。 - Subash
你是否在查找表单之前实际提交了它? - Aleski

0
你需要在你的 <select /> 元素上添加一个 name 属性,然后从 PHP 的 $_POST$_GET 数组中使用它(取决于你如何传输数据)。但一定要对用户输入进行过滤。

0

从我的项目中发布它。

<select name="parent" id="parent"><option value="0">None</option>
<?php
 $select="select=selected";
 $allparent=mysql_query("select * from tbl_page_content where parent='0'");
 while($parent=mysql_fetch_array($allparent))
   {?>
   <option value="<?= $parent['id']; ?>" <?php if( $pageDetail['parent']==$parent['id'] ) { echo($select); }?>><?= $parent['name']; ?></option>
  <?php 
   }
  ?></select>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接