我在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;
EDITRECORD
<?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;
更新
<?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;
我想要那个;如果我没有编辑下拉选择的值,则只需使用之前的值并将其保存。
答案 0 :(得分:-1)
您现在正在做的是在下拉列表中列出选项。 你没有设置任何答案
在您的HTML中:
while ($row = mysql_fetch_array($result)) {
echo "<option value=' " . $row['courses'] ."'>" . $row['courses'] ."</option>";
}
确保选中旧值。 可以使用IF语句