我有一个php生成的选择列表。我正在尝试根据用户选择的选项从我的数据库中获取结果。列表本身工作正常,直到我遇到一个未定义的索引错误,此时我用isset()
修复了它。现在,该值将恢复为表中的最后一个添加值。此外,这是我遇到的主要问题,我查询的结果始终是添加到表中的最后一个值。
如果我可以深入研究我的问题的基石,那将是:如何设置查询以根据所选选项从我的表中检索结果?即。
SELECT course_name,course_duration,course_id FROM WHERE course_name='$_POST['courses']'
PHP文件:
<?php
include 'mysqlconnect.php';
if ($db_found) {
$sql = "SELECT course_id,course_name,course_duration FROM course";
$result = mysql_query($sql);
}
?>
<p>
<label>Select Course:</label>
<select name="courses" id="courses">
<?php
//generate options in select list
while ($field=mysql_fetch_assoc($result)) {
//get values for later use.
$course_name=$field['course_name'];
$course_ID=$field['course_id'];
$course_duration=$field['course_duration'];
echo "<option value='".$course_name."'";
if($course_name==isset($_POST['courses'])) {echo ' SELECTED';}
echo '>' .$course_name.'</option>';
}
?>
</select>
</p>
答案 0 :(得分:0)
起初:
isset()
如果您传递的变量已设置,则返回'true'或'false'。试试看:
if($course_name == $_POST['courses']) ...
编辑:你也应该做一个
<form>
在用户更改选择列表的值时提交表单。提交时,select-list的值将提交给您的脚本。然后尝试SQL语句:
SELECT course_name,course_duration,course_id FROM course WHERE course_name='$_POST['courses']'