【问题标题】:Acquiring multiple values from one select option value. PHP HTML从一个选择的选项值中获取多个值。 PHP HTML
【发布时间】:2014-04-01 20:53:33
【问题描述】:

如何从一个选择的选项值中获取多个值。 这里有一个例子,

<html>

<form method="post" action="#">
   <select name="retrive_destination">
       <?php while($row = mysql_fetch_assoc($result)){
                    $destinationID = $row['destinationID'];
                    $destination_place = $row['destination_place'];
                    echo '<option value="'.$destinationID.'">'.$destination_place.'</option>
       ?>
      <input type="submit">
</select>

</form>
</html>

我如何从一个选项值中获取两个值“$destinationID”和“$destination_place”,当我提交的表单因为我需要两个值时,用户在下一步中选择一个选项。谢谢你们的欢呼。

【问题讨论】:

    标签: php html mysql arrays


    【解决方案1】:

    组合这两个值,然后在服务器端分解它们

    <html>
    
    <form method="post" action="#">
       <select name="retrive_destination">
           <?php while($row = mysql_fetch_assoc($result)){
                        $destinationID = $row['destinationID'];
                        $destination_place = $row['destination_place'];
                        echo '<option value="'.$destinationID."_".htmlentities($destination_place).'">'.$destination_place.'</option>
           ?>
          <input type="submit">
    </select>
    
    </form>
    </html>
    

    PHP 服务器端

    $value= $_REQUEST['retrive_destination'];
    $explode=explode("_",$value,2);
    $destinationID =$explode[0];
    $destination_place =$explode[1];
    

    【讨论】:

    • 这就是我要回答的问题,如果他不知道如何使用它,您可能还需要包含爆炸语句。
    • 还要在 $destination_place'">' 之间加一个点
    • 按照建议编辑了答案
    • 尽管将值连接到 ID 是一种简单的方法,但您需要小心,因为 $destination_place 看起来像一个文本实体并且可以包含引号或 >
    • 谢谢@Piancentecristian。爆炸效果很好。这太棒了。
    【解决方案2】:

    最好让表单只提交 ID,因为您始终可以从服务器端的数据库中获取目标位置。

    【讨论】:

      【解决方案3】:

      jQuery 版本:

      添加隐藏在表单中的输入类型:

      <form method="post" action="#">
      <select name="retrive_destination" id="des">
         <option value="1">Ibiza</option>
         <option value="2">Mallorca</option>
         <option value="3">Chile</option>
      </select>
      <input type="hidden" name="destination" id="dest"/>
      <input type="submit" />
      </form>
      

      jquery:

      $(document).ready(function(){
      $("#des").change(function(){
         $("#dest").val($("#des option:selected").text());  
      });
      });
      

      PHP:

      $destId  = $_POST['retrive_destination'];
      $destVal = $_POST['destination'];
      

      【讨论】:

        猜你喜欢
        • 2019-03-16
        • 1970-01-01
        • 2022-07-16
        • 1970-01-01
        • 1970-01-01
        • 2015-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多