如何编辑下拉选择值?

时间:2018-04-05 05:04:10

标签: php html drop-down-menu

我在html页面上创建了一个下拉菜单和许多其他文本字段,用于从数据库中获取选项值。它将所选值插入我的数据库表中。我想从下拉菜单中编辑选定的值并在数据库中更新它们。当我打开编辑页面时,表单会显示以前保存的值以进行编辑。但问题是;当我没有编辑下拉值并提交表单时,它会显示未定义索引的错误,当我编辑或选择不同的下拉值时,它可以正常工作并且不会显示任何错误。这是我的代码: 的 HTML



<label>Courses</label><select name="courses" id="courses" class="dropdownclass"><option selected="selected" value="" disabled selected hidden>-- Select an option --</option><?php  
mysql_connect('localhost', 'root', '');
mysql_select_db('db');

$sql = "SELECT courses FROM table";
$result = mysql_query($sql);


while ($row = mysql_fetch_array($result)) {
	
    echo "<option value=' " . $row['courses'] ."'>" . $row['courses'] ."</option>";
}

?>
		</select>

<!-- begin snippet: js hide: false console: true babel: false -->
&#13;
&#13;
&#13;

EDITRECORD

&#13;
&#13;
<?php
include("connection.php");
$Sno = (int)$_GET['Sno'];
$query = mysql_query("SELECT * FROM table WHERE Sno = '$Sno'") or die(mysql_error());


    while($row = mysql_fetch_array($query)) {

if (isset($_POST)) {
	
echo "";
$id=$row['id'];
$courses=$row['courses'];
}   
}
?>
<!DOCTYPE html>
<html>
<head>
	<title>Edit Record</title>
  </head>
<body>
<form id="form" action="update.php" method="post" enctype="multipart/form-data">

			<fieldset>
				<input type="hidden" name="new" id="Sno" value="<?=$Sno;?>" />
        <label>Courses</label><select name="courses" id="courses" class="dropdownclass"  ><option selected="selected" value="" disabled selected hidden><?php echo $courses; ?></option><?php  
mysql_connect('localhost', 'root', '');
mysql_select_db('db');

$sql = "SELECT courses FROM table";
$result = mysql_query($sql);


while ($row = mysql_fetch_array($result)) {
	
    echo "<option value=' " . $row['courses'] ."'>" . $row['courses'] ."</option>";
}

?>
		</select>	
    </fieldset>

	</form>

</body>
</html>
&#13;
&#13;
&#13;

更新

&#13;
&#13;
<?php
 include("connection.php");

    $Sno =''; 
if( isset( $_POST['new'])) {
    $Sno = (int)$_POST['new']; 
}
  $id = mysql_real_escape_string($_POST['id']);
  if(isset($_POST['courses'])){
        $courses = mysql_real_escape_string($_POST['courses']);
    }else{
        $courses=$_POST['courses'];
    }
    query="UPDATE technicalsol
            SET id= '$id',
            courses = '$courses'
             WHERE Sno=$Sno";
             $res= mysql_query($query);
if($res){
   echo "<div style ='font-size:20px; margin-left:140px;'>Records updated Successfully</div>";
   include("search.php");
    
}else{
    echo "Problem updating record. MY SQL Error: " . mysql_error();
}
?>
&#13;
&#13;
&#13;

我想要那个;如果我没有编辑下拉选择的值,则只需使用之前的值并将其保存。

1 个答案:

答案 0 :(得分:-1)

您现在正在做的是在下拉列表中列出选项。 你没有设置任何答案

在您的HTML中:

while ($row = mysql_fetch_array($result)) {

        echo "<option value=' " . $row['courses'] ."'>" . $row['courses'] ."</option>";
    }

确保选中旧值。 可以使用IF语句

相关问题