从PHP下拉列表中获取多个值

时间:2013-03-20 09:48:55

标签: php drop-down-menu

我在数据库中填充PHP中的选择框(下拉框)。

function selBox(){
    conDB();
    $sql1 = "SELECT cname FROM course";
    $selResult = mysql_query($sql1);
    echo"<option value = 'default'>Select Course</option>";
        $rowNum = 0;
        while($selRows = mysql_fetch_array($selResult)){
        echo"<option value = " . $selRows[0] . ">" . $selRows[0] . </option>";
        }
    mysql_close();
}

上面的函数在html中调用,如下所示:

<select name="delCourse"><?php selBox();?></select>

在同一页面上,我获得了下拉框中所选内容的值。

$Selected = $_POST['delCourse'];
            echo $Selected;

发生的事情是我在数据库中有很多填充到Dropbox的课程。用户进行选择,然后将其放入$ Selected以转发给另一个函数。

问题:回应$ Selected会得到像ScienceScience或MathematicsMathematics这样的双重答案。我可以对此进行一些字符串操作以获得正确的答案。还有另一种方法可以从Dropbox中选择的内容中仅获得一个答案吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我通过玩这个功能得到了我的问题的答案。我的功能现在看起来像这样:

function selBox($selValue){
    conDB();
    $sql1 = "SELECT cid, cname FROM course";
    $selResult = mysql_query($sql1);
    echo"<option value = 'default'>Select Course</option>";
        while($selRows = mysql_fetch_array($selResult)){
            $id = htmlspecialchars($selRows["cid"]) ;
            $course = htmlspecialchars($selRows["cname"]);
            echo "<option value='$id'>$course</option>";
        }
    $selValue = $_POST['delCourse'];
    mysql_close();
    return;
}

该函数从我的其他页面调用如下:

    <select name="delCourse"><?php selBox($selValue);?></select>

检查现在选择内容的switch语句部分如下所示:

    case "Delete Course":
            $selValue = "";
            $Selected = $selValue;
            echo $Selected;
            break;

我现在通过以上方式获得单身价值。现在我可以再次将该值传递给下一个函数。