-1

我有一个性别下拉列表。我从我的表“候选人”中获取值,在这个表中我有一个字段,它实际上是另一个表的外键。

字段为gender_code_cde,表名为gender_code。现在,gender_code 包含 2 行。和 id 和描述。它的结构是这样的:

1->男 2->女

它显示在下拉列表中。但是如果选择了男性,我想获得 id 1,如果选择了女性,我想获得 id 2。我的代码如下:

<p>
<label for ="gender">Gender:</label>
<?php
   $query = mysql_query("select * from gender_code"); // Run your query
   echo '<select name="GENDER">'; // Open your drop down box
   //Loop through the query results, outputing the options one by one
   while ($row = mysql_fetch_array($query)) 
  {
     echo '<option value="'.$row['gender_cde'].'">'.$row['gender_dsc'].'</option>';
  }
  echo '</select>';
?>
</p>

我在 codeIgniter 工作。

4

3 回答 3

0

如果您正在提交 (POST) 表单并且这是在该表单内,您可以从 CodeIgniter 的$_POST包装器中访问值 (id): $this->input->post('GENDER');。我不使用 CodeIgniter,所以我可能是错的,但它将位于$_POSTPHP 的数组中。

如果您只想在页面上的某处复制变量,您可以echo这样做。或者通过 js/jQuery 使用document.getElementById('#something').value = value;or设置jQuery('#something').html(value);

您还应该更改以下内容:

  • 用 aforeach代替你的 while:

    foreach ($query as $row) {
        echo $row['gender_x'] . $row['gender_y'];
    }
    
  • 使用 CodeIgniter SQL 包装器而不是折旧的 PHP 函数。查询部分是$this->db->query('SELECT statement goes here');. 您应该查看 CodeIgniters 的版本文档以获得更深入的解释。

编辑:为了更清楚一点,举个例子:

$query = $this->db->query('SELECT * FROM gender_code');
foreach ($query->result() as $row) {
    echo '<option value="' . $row->gender_cde . '">' . $row->geneder_dsc . '</option>';
}

这是假设您已经在 CodeIgniter 中设置了之前的调用。请参阅http://ellislab.com/codeigniter/user-guide/database/examples.html您可能希望阅读http://ellislab.com/codeigniter/user-guide/

于 2013-09-18T10:13:10.023 回答
0

在 Javascript 中,您可以使用原生 JS 获取值。

var e = document.getElementById("give-the-select-element-an-id");
var gender_cde = e.options[e.selectedIndex].value;

如果您希望它返回服务器,它将作为$_GET['GENDER']$_POST['GENDER']取决于表单是否执行 POST 或 GET 请求而进入 PHP。

于 2013-09-18T09:57:51.387 回答
0

// 这将在下拉列表的值发生变化时发出警报

<script>
function getvalue(val)
{
   alert(val);
}
</script>
    <p>
    <label for ="gender">Gender:</label>
    <?php
       $query = mysql_query("select * from gender_code"); // Run your query
       echo '<select name="GENDER" id="Gender" onchange="getvalue(this.value)">'; // Open your drop down box
       //Loop through the query results, outputing the options one by one
       while ($row = mysql_fetch_array($query)) 
      {
         echo '<option value="'.$row['gender_cde'].'">'.$row['gender_dsc'].'</option>';
      }
      echo '</select>';
    ?>
    </p>
于 2013-09-18T10:11:50.720 回答