基于选择选项从数据库获取结果

时间:2014-09-18 13:42:05

标签: php html mysql

我有一个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>

1 个答案:

答案 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']'