这个问题在这里已经有答案了:
使用php的“notice:未定义变量”、“notice:未定义索引”和“notice:未定义偏移量”(28个答案)
mysqli_fetch_assoc()需要参数/调用成员函数bind_param()时出错。如何获得实际的mysql错误并修复它(1个答案)
两年前关门了。
我使用php从数据库中检索值,但遇到了一个问题。当我从下拉列表中选择一个值并按submit时,我输入的值不会被选中。表单中的所有其他元素都能完美地工作。我不确定我做错了什么。
当使用isset时,最终结果显示为nothing,而不是我在下拉菜单中选择的内容。
这是我的密码:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "timedrun";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else {
echo "Connected successfully";
}
?>
<html>
<head>
<title>Add Run</title>
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
<link rel='stylesheet' type='text/css' href='mystyle.css'>
</head>
<body>
<h1>Timed Run</h1>
<center>
<hr>
<form action='#' method='post'>
Select Student: <select name='studentSelected' class="form">
<?php
$fsql = "SELECT firstName FROM students";
$fresult = $conn->query($fsql);
$lsql = "SELECT lastName FROM students";
$lresult = $conn->query($lsql);
if ($fresult->num_rows > 0) {
while ($row = $fresult->fetch_assoc()){
echo '<option value="'.$row['ID'].'">' .$row['firstName'].' </option>';
}
};
?>
</select>
<br><a class="space" ></a><br>
Time (s): <input type="int" name="time" class="form">
<br><a class="space"></a><br>
Select Date: <input type="date" name="date" class="form">
<br><a class="space"></a><br>
Notes: <input type="text" name="notes" class="form">
<br><a class="space"></a><br>
<input type="submit" class="form" name="submit">
</form>
<?php
if(isset($_POST['submit'])){
$selected_val = $_POST['studentSelected'];
echo "You have selected :" .$selected_val;
}
?>
</center>
</body>
</html>
3条答案
按热度按时间yfjy0ee71#
您的查询只用于从表中选择firstname,并使用
value="'.$row['ID'].'"
. 将查询更改为sr4lhrrt2#
这是因为你没有选择
ID
在您的查询中。将查询更改为:vktxenjb3#
现在应该可以了