0

我正在从数据库中填充 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;

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

问题:与 $Selected 相呼应会遇到双重答案,例如 ScienceScience 或数学数学。我也许可以对此进行一些字符串操作以获得正确的答案。是否有另一种方法可以从 Dropbox 中选择的内容中只获得一个答案?

4

1 回答 1

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;

我现在通过执行上述操作获得单打值。现在我可以再次将该值传递给下一个函数。

于 2013-03-27T11:10:33.663 回答