如何使用php和mysql获取下拉菜单中项目的详细信息
我有一个数据库,在该数据库中有一个名为如何使用php和mysql获取下拉菜单中项目的详细信息,php,mysql,Php,Mysql,我有一个数据库,在该数据库中有一个名为courses\u details的表。我希望当用户从下拉菜单中选择一门课程时,该课程的信息(CourseCode、CourseTile、CourseCredits)可以使用php以表单的形式显示。我拿不到它。如果有人能帮助我,我将不胜荣幸 <form action="courses.php" method="POST" class="FormStyle"> <select name="courses"> <op
courses\u details
的表。我希望当用户从下拉菜单中选择一门课程时,该课程的信息(CourseCode、CourseTile、CourseCredits)可以使用php以表单的形式显示。我拿不到它。如果有人能帮助我,我将不胜荣幸
<form action="courses.php" method="POST" class="FormStyle">
<select name="courses">
<option value="ITC">Intro. To Computing</option>
<option value="OOP">Object Oriented Programming</option>
<option value="DS">Data Structures</option>
</select>
</form>
简介。计算
面向对象编程
数据结构
因此,这是创建$\u POST[submit]和$\u POST['courses']变量的表单。成员
将是您希望使用查询信息显示表单的页面
<form action="members.php" method="POST" class="FormStyle">
<select name="courses">
<option value="ITC">Intro. To Computing</option>
<option value="OOP">Object Oriented Programming</option>
<option value="DS">Data Structures</option>
</select>
<input type="submit" name="submit" value="Submit">
</form>
然后在“表单页面”。php
创建一个表单以显示结果
<form action="somelink.php" method="POST">
<input class="form-group-item" value="<?php $cCode = ($courseCode > 0 ? echo $courseCode : echo ''); echo $cCode; ?>" name="courseCode">
<input class="form-group-item" value="<?php $cTitle = ($courseTitle > 0 ? echo $courseTitle : echo ''); echo $cTitle; ?>" name="courseTitle">
<input class="form-group-item" value="<?php $cCredits = ($courseCredits > 0 ? echo $courseCredits : echo ''); echo $cCredits; ?>" name="cCredits ">
<input type="submit" name="submitMembers" value="Submit">
</form>
搜索并使用AjaxPHP/MySQL查询是否有问题,或者您不知道如何获取所选项目的结果?@OldPadawan我不知道如何获取所选项目的结果。在courses.PHP中,您将获得“courses”的发布值->$selectedcourse=$\u POST['courses'
您需要在select$\u POST('submit')和$\u POST('courses')中添加一个submit按钮或一个JS actionon change
?这不应该是$_POST['submit']和$_POST['courses']-括号而不是括号吗?@Jason看到我更新的答案,你是100%正确的。最好的
include = 'constants.php';
if($_POST['submit']){//here we check to see if the input 'submit' was posted through the form
//success define your variable(s)
//$courses will now hold the $_POST variable that passed through the http POST method (the form names as defined in your various forms tags)
$courses = $_POST['courses'];//assign the value of your select field to the variable $courses
//connect to DB if not already
$db = new mysqli(HOST, USER ,PASSWORD, DATABASE);//CONSTANTS from a linked file
// Check for errors
if(mysqli_connect_errno()){
echo mysqli_connect_error();
}
//using an example DB with a table defined as a constant DB_MEMBERS
$result = $db->query("SELECT * FROM `DB_MEMBERS` WHERE `courses`=".$courses);
if($result->num_rows){// if rows are present from the query
// Cycle through results and define your variables
while ($row = $result->fetch_assoc()){
$courseCode = htmlspecialchars($row['CourseCode']); //*avoid possible exploits with htmlspecialchars()
$courseTitle = htmlspecialchars($row['CourseTitle']); //*
$courseCredits = htmlspecialchars($row['CourseCredits']);//*
}
}
<form action="somelink.php" method="POST">
<input class="form-group-item" value="<?php $cCode = ($courseCode > 0 ? echo $courseCode : echo ''); echo $cCode; ?>" name="courseCode">
<input class="form-group-item" value="<?php $cTitle = ($courseTitle > 0 ? echo $courseTitle : echo ''); echo $cTitle; ?>" name="courseTitle">
<input class="form-group-item" value="<?php $cCredits = ($courseCredits > 0 ? echo $courseCredits : echo ''); echo $cCredits; ?>" name="cCredits ">
<input type="submit" name="submitMembers" value="Submit">
</form>