以下的變量中檢索正確的值我hava查詢它在哪裏執行查詢以從數據庫中查找所有課程詳細信息並將其顯示在下拉菜單中,然後顯示所選課程在使用$outputcourse
變量的消息顯示:它無法從WHERE子句中的變量
$sql = "SELECT CourseId, CourseNo, CourseName FROM Course ORDER BY CourseNo";
$sqlstmt=$mysqli->prepare($sql);
$sqlstmt->execute();
$sqlstmt->bind_result($dbCourseId, $dbCourseNo, $dbCourseName);
$courses = array(); // easier if you don't use generic names for data
$courseHTML = "";
$courseHTML .= '<select name="courses" id="coursesDrop">'.PHP_EOL;
$courseHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$outputcourse = "";
$hiddencourse = "";
while($sqlstmt->fetch())
{
$course = $dbCourseId;
$courseno = $dbCourseNo;
$coursename = $dbCourseName;
$courseHTML .= "<option value='".$course."'>" . $courseno . " - " . $coursename . "</option>".PHP_EOL;
if (isset($_POST['courses']) && ($_POST['courses'] == $course)) {
$outputcourse .= "<p><strong>Course:</strong> " . $courseno . " - " . $coursename . "</p>";
$hiddencourse .= "<p><input type='hidden' id='hiddencourse' value='". $courseno . " - " . $coursename ."'></p>";
}
}
$courseHTML .= '</select>';
現在我想做的是顯示不所選課程所屬的模塊。現在我的查詢在php中工作正常,但是我遇到的問題是如果我使用mysqli來運行此查詢,它無法退回where子句中的$dbCourseId
變量,因此WHERE子句不正確。
WHERE子句假設顯示假設爲1
的courseId,但它始終顯示10
。如果我選擇其中courseId應該是3
的其他課程,它仍輸出10
。
那麼我的問題是,哪個變量應該在下面的代碼中的bind-> param()中去,以及如何退出所選課程的正確courseID?
下面是查詢代碼:
$modulequery = "
SELECT
m.ModuleId, m.ModuleNo, m.ModuleName, m.Credits
FROM
Module m
WHERE
m.ModuleId NOT IN (
SELECT cm.ModuleId
FROM Course_Module cm
WHERE cm.CourseId = ?
)
ORDER BY m.ModuleNo
";
$moduleqrystmt=$mysqli->prepare($modulequery);
// You only need to call bind_param once
$moduleqrystmt->bind_param("i",$dbCourseId);
// get result and assign variables (prefix with db)
$moduleqrystmt->execute();
$moduleqrystmt->bind_result($dbModuleId,$dbModuleNo,$dbModuleName,$dbCredits);
$moduleqrystmt->store_result();
$modulenum = $moduleqrystmt->num_rows();
echo $dbCourseId;
這哪裏是'$ dbCourseId'變量被初始化並分配一個值。我只看到它只分配給其他值。 –
@YogeshSuthar我想要做的是使用Query中的$ dbCourseId選擇課程,然後使用它作爲模塊查詢中使用的參數。我是否使用了錯誤的變量呢? – user1861818
'onchange =「getModules();」'在調用此調用時傳遞選定的選項ID。 –