-1

首先,您将被要求输入/选择教授编号。然后会出现该教授的信息,并且有一个科目的下拉菜单。但我希望该教授下的主题是该选择标签中选择的主题。这是为了更新。因此,显示的值来自数据库。

我在 php 中有这段代码

echo"<select name ='sub_code' >";

$res = mysql_query("SELECT *FROM arsy_subject ORDER BY arsy_sub_Code");

while($row = mysql_fetch_array($res))
{
echo("<option selected='$_POST[arsy_sub_Code]'  value = '" .$row['arsy_sub_Code']. "'>" .$row['arsy_sub_Code'] . "/" .$row['arsy_Description'] . "</option>");
}   
4

2 回答 2

0

是否要将所选行设为与$_POST[arsy_sub_Code]???具有相同值的行

将代码更改为此:

while($row = mysql_fetch_array($res)) {
    $selected=""; 

    if ($_POST[arsy_sub_Code]==$row['arsy_sub_Code']){
        $selected='selected="selected"'; 
    }

    echo("<option " . $selected . " value = '" .$row['arsy_sub_Code']. "'>" .$row['arsy_sub_Code'] . "/" .$row['arsy_Description'] . "</option>"); 
}
于 2012-10-10T15:09:46.310 回答
0

看起来您正在发布arsy_sub_Code并希望所选值保持选中状态。尝试:

echo "<select name ='sub_code' >";

$res = mysql_query("SELECT * FROM arsy_subject ORDER BY arsy_sub_Code");

if($res && mysql_num_rows($res) > 0) // PLEASE check to make sure the query worked before trying to access rows
{
    while($row = mysql_fetch_assoc($res))
    {
        $selected = isset($_POST['sub_code']) && $_POST['sub_code'] == $row['arsy_sub_Code'] ? 'selected' : '';

        echo "<option selected='$selected'  value = '" .htmlentities($row['arsy_sub_Code']). "'>" .htmlentities($row['arsy_sub_Code']) . "/" .htmlentities($row['arsy_Description']) . "</option>";
    }  
}

echo "</select>";

编辑:

如果这是允许您编辑教授详细信息的页面,并且您希望下拉菜单显示教授的主题,那么您需要$_POST['sub_code']用包含教授当前子代码的变量替换,所以可能类似于

$professor['sub_code']; // assuming you have selected the professor details and have stored them in an array

强制性旁注:不要在已弃用的mysql_*库中编写新代码,使用 PDO 或 MySQLi。

于 2012-10-10T15:01:13.580 回答