2012-11-19 31 views
0

我在下面有一个基本的mysqli代码,它执行查询从数据库中选择CourseId和课程名称并将其显示在下拉菜单中。从下拉菜单中选择后出现错误的回音

$sql = "SELECT CourseId, CourseName FROM Course ORDER BY CourseId"; 

    $sqlstmt=$mysqli->prepare($sql); 

    $sqlstmt->execute(); 

    $sqlstmt->bind_result($dbCourseId, $dbCourseName); 

    $courses = array(); // easier if you don't use generic names for data 

    $courseHTML = ""; 
    $courseHTML .= '<select name="courses" id="coursesDrop" onchange="getModules();">'.PHP_EOL; 
    $courseHTML .= '<option value="">Please Select</option>'.PHP_EOL; 

    while($sqlstmt->fetch()) 
    { 
    $course = $dbCourseId; 
    $coursename = $dbCourseName; 
    $courseHTML .= "<option value='".$course."'>" . $course . " - " . $coursename . "</option>".PHP_EOL; 

    $outputcourse = ""; 
    $outputcourse .= "<p><strong>Course:</strong> " . $course . " - " . $coursename . "</p>"; 

    } 

    $courseHTML .= '</select>'; 

现在让我们说下拉菜单包含如下这些课程:

INFO101 - Information Communication Technology 
INFO102 - Computing 

出于某种奇怪的原因,不管这当然让我选择,它总是回声的CourseId和CourseName INFO102 - Computing的下拉菜单下面的。为什么是这样?

+0

如果在从下拉菜单中选择课程时发生问题,可能问题出自javascript? – Naryl

+0

@Naryl,请看下面我发给Abu的评论。问题是当我选择选项和他们SUbmit。问题不在下拉菜单中。它回应了我选择underneatch这是这个代码:'$ outputcourse =“”; $ outputcourse。=“

Course:”。 $课程。 “ - ”。 $ coursename。 “

”; ' – user1819709

+0

然后,它将有助于查看getModules()函数的代码。我的意思是,在使用上面生成的PHP进行提交时遇到问题,但我们没有提交部分的代码..所以我无法真正检查出现了什么问题:S – Naryl

回答

0

<p><strong>Course:</strong>.....</p>这可能会引起问题,

,因为我不认为它有效的有<select></select>标签内比​​3210其他标签。

尝试删除这些东西,看看输出是否出现在下拉菜单中。

+0

我将“outputcourse”变量移动到select之外,但仍然没有运气。问题是无论我选择哪个课程,它都会一直声明,在UNDERNEATH的下拉菜单中选择了课程'INFO102 ...'。这里是一个现场演示[这里](http://helios.hud.ac.uk/u0867587/Mobile_app/editsessionadmin.php)。在下拉菜单中,选择课程下拉菜单中的课程INFO101 ...,然后在模块下拉菜单中选择任意模块。提交页面,在下面看到我选择的课程不正确 – user1819709