2013-07-21 36 views
1

您好我有两个下拉其用于从一个MySQL表筛选数据框,问题是框始终显示为,如果当我使用isset到determin如果任何人有他们设置任何选定的值。PHP下拉框总是Isset

下面是投递的代码。

<?php 
         if (isset($_POST['referrer']) && $_POST['referrer'] != "referrer") { 
         $select = $_POST['referrer']; 
         } 
         ?> 
            <select name="referrer"> 
            <option value="">Referrer</option> 

             <?php 
         // Get records from database (table "name_list"). 
         $list=mysql_query("select DISTINCT referrer from masterip_details WHERE country_code='GB' AND TRIM(IFNULL(referrer,'')) <> '' order by referrer DESC"); 
         // Show records by while loop. 
         while($row_list=mysql_fetch_assoc($list)){ 
         $referrer = $_POST['referrer']; ?> 
             <option value="<?php echo $row_list['referrer']; ?>" <?php if($row_list['referrer']==$select){ echo "selected"; } ?>><?php echo $row_list['referrer']; ?></option>   
             <?php  
         } 
         ?> 
            </select> 



<?php 
         if (isset($_POST['returning']) && $_POST['returning'] != "returning") { 
         $select2 = $_POST['returning']; 
         } 
         ?> 
            <select name="returning"> 
            <option value="">Referrer</option> 
             <?php 
         // Get records from database (table "name_list"). 
         $list2=mysql_query("select * from repeater_drop_down order by id DESC"); 
         // Show records by while loop. 
         while($row_list2=mysql_fetch_assoc($list2)){ 
         $returning = $_POST['returning']; ?> 
             <option value="<?php echo $row_list2['value']; ?>" <?php if($row_list2['value']==$select2){ echo "selected"; } ?>><?php echo $row_list2['title']; ?></option>  
             <?php  
         } 
         ?> 
            </select> 

现在,这里是代码的isset元素。

$returning = $_POST['returning']; 
$referrer = $_POST['referrer']; 

if (isset($returning, $referrer)){ 

//code // 

    elseif (isset($returning)){ 

    ///code // 

    elseif (isset($referrer)){ 

    //code // 

    else { 

//code 

     } 

我没有包括查询,因为他们工作得很好,但我无论是否选择这两个下拉框的代码将自动进入第一isset两个变量即使只有一个箱子有选择的选项。

任何意见或建议,将不胜感激。

+0

他们都始终选择一个选项。所以第一个条件永远是真的。该选项的值可能是空字符串,但它仍然是一个值。 – David

+0

您是否尝试将'isset'更改为'empty'以查看您是否获得了更好的结果? – DevlshOne

回答

1

您应该检查与表单提交的价值,不仅在选择岗位价值是否被设置。

引荐的值将是''(一个空字符串),如果它是不改变选择提交。请检查一下。