dongshang1768
dongshang1768
2016-06-02 07:07

如何从PHP中的下拉列表中获取所选值的值?

已采纳

Here's my drop down:

 <form name="form" method="POST" style="display:inline;">
            <select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;">
                 <option value="" disabled selected>Select Category</option>
            <?php
            $sth = $conn->prepare('Select name From category');
            $sth->execute();
            $data = $sth->fetchAll();   
            foreach ($data as $row ){
                if($row['name']!="")
             echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
            }
            ?> 
            </select>
     </form>

And I'm trying to access it using the following code:

if(!empty($_POST['category']))
     $category=$_POST['category'];

When I echo the value of $category, it returns null. Why is that? How can I get the value of the selected value from the drop down?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • dtgv52982 dtgv52982 5年前

    Hi In PHP we can submit form using a submit button or using javascript. if you want to use only php you shoud add a submit button and check if that is posted then check for category like this.

            <form name="form" method="POST" style="display:inline;">
                        <select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;">
                             <option value="" disabled selected>Select Category</option>
                        <?php
                        $sth = $conn->prepare('Select name From category');
                        $sth->execute();
                        $data = $sth->fetchAll();   
                        foreach ($data as $row ){
                            if($row['name']!="")
                         echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
                        }
                        ?> 
                        </select>
        <input type="submit" name="submit" value="submit">
                 </form>
    
    <?php
    
        if(isset($_POST['submit'])){
             $category=$_POST['category'];}
    
    
    or you can try javascript for  submission it will work on change of value in select box
    
        <form name="form" method="POST" style="display:inline;">
                    <select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;" onchange="document.form.submit();">
                         <option value="" disabled selected>Select Category</option>
                    <?php
                    $sth = $conn->prepare('Select name From category');
                    $sth->execute();
                    $data = $sth->fetchAll();   
                    foreach ($data as $row ){
                        if($row['name']!="")
                     echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
                    }
                    ?> 
                    </select>
             </form>
    
    <?php 
    
    if(!empty($_POST['category']))
         $category=$_POST['category'];
    
    点赞 评论 复制链接分享
  • doubu2730 doubu2730 5年前

    You need to use input type submit in form to get values in php

    <form name="form" method="POST" style="display:inline;">
                    <select name="category" id="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;">
                         <option value="" disabled selected>Select Category</option>
                    <?php
                    $sth = $conn->prepare('Select name From category');
                    $sth->execute();
                    $data = $sth->fetchAll();   
                    foreach ($data as $row ){
                        if($row['name']!="")
                     echo ' <option id="CategoryName" value="' .$row['name']. '">'.$row['name'].'</option>';
                    }
                    ?> 
                    </select>    <input type="submit" />
             </form>
    
        <?php
        if(!empty($_POST['category']))
             $category=$_POST['category'];
        print_r($category);
        ?>
    
    点赞 评论 复制链接分享

相关推荐