如何从动态选择框中检索选定的值

时间:2013-05-15 01:35:15

标签: php html postgresql

我想知道如何从动态选择框中检索选定的值。如果我得到所选的值,那么我将它存储到另一个位于另一个php文件中的变量中。这个变量将帮助我在postgresql中进行SQL查询。

//第一个php文件

 <form name="boton_alta_soniador" action="dar_alta_soniador.php" method="POST" autocomplete="off">          
<div class="text-field">
   Nombre de la asociacion
<? $strconn="dbname=postgres port=5432 host=127.0.0.1 user=xxx password=xxx";
     $conn=pg_Connect($strconn);

  $consulta="Select n_asociacion from asociacion";
      $result=pg_query($conn,$consulta);
      while($results [] =pg_fetch_object($result));
      array_pop($results);?>

      <select name="asociacion_seleccion" id="i_clave_asociacion">
           <?php foreach ( $results as $option ) : ?>
           <option value="<?php echo $option->i_clave_asociacion; ?>"><?php echo $option->n_asociacion; ?></option>
            <?php endforeach; ?>
      </select>          
  </div>
</form>

这只是动态选择框。然后我想将选定的值存储在这个变量中:

$ingresaAsociacion       = pg_escape_string($_POST['asociacion_seleccion']);

所以我可以查询以下语句:

$conocerIDasociacion     =  "SELECT N_ASOCIACION FROM ASOCIACION WHERE I_CLAVE_ASOCIACION='$ingresaAsociacion'";

我不想使用jQuery,因为整个系统几乎完全是用PHP和HTML制作的。 拜托,欢迎任何帮助,我全都听取了。

干杯!

2 个答案:

答案 0 :(得分:1)

看起来你错过了一个提交按钮。

你根本不需要使用AJAX,也不必使用jQuery。您可以根据需要提交表单并处理选择值。

select标签中的选定值将发送到dar_alta_soniador.php,该文件将使用您编写的确切代码处理该数据:

$_POST['asociacion_seleccion']

因此,在dar_alta_soniador.php中,您将编写该代码:

$ingresaAsociacion       = pg_escape_string($_POST['asociacion_seleccion']);

然后执行查询。你甚至不必担心在会话变量中发送数据,POST已经为你做了。

所以在你的代码中一切都应该没问题,否则我可能会误解你的问题。您是否有错误消息或获得一些不当行为?

也许提交按钮丢失了?我使用这样的代码:

对于选择标记:

<div class="controls">
                                    <select name="list_name">
                                        <option>List</option>
                                        <?php 
                                            foreach ($nucleos as $inner_array) {
                                                $out = "<option>" . $inner_array['name'] . "</option>";

                                                echo $out;
                                            }
                                        ?>

                                    </select>
                                </div>

对于“提交”按钮:

<div class="control-group">
                                <div class="controls">                                 
                                    <button type="submit" class="btn">Confirm</button>
                                    <br/>                                 
                                </div>
                            </div>

</form>

我在这里使用bootstrap来表示样式,HTML和CSS。没什么。

祝福,

答案 1 :(得分:0)

我找到了另一个解决方案:

<? $strconn="dbname=postgres port=5432 host=127.0.0.1 user=xxxx password=xxxx";
$conn=pg_Connect($strconn);
$consulta="Select n_asociacion from asociacion";
$result=pg_query($conn,$consulta);?>                     
<select name="asociacion_seleccion" id="i_clave_asociacion">
<?php 
while($row=pg_fetch_assoc($result)) 
{echo "<option>{$row['n_asociacion']}</option>";}?>
</select>       

关键是,每当用户从动态选择框中选择一个选项时,如果我们使用pg_escape_string($ _ POST ['NAME OF YOUR SELECTION BOX'))调用该值,则选择框的值是已知的。 / p>

感谢所有人的合作,我的问题得到了解决。