【发布时间】:2016-07-29 22:01:12
【问题描述】:
编辑:我现在尝试再次编写我的 PHP 代码,它现在可以工作了,但除了每次按下提交时它会打印所有课程而不是过滤器周围的课程。此外,过滤时我似乎无法将两个表连接在一起。教练的名字来自不同的餐桌教练,我想接听这个。这是我的 PHP 代码。
<?php
include('connect-db.php');
if($_POST){
if($_POST['Days'] == 'Monday') {
$query = "SELECT * FROM lesson WHERE Day='Monday'";
}elseif($_POST['Days'] == 'Tuesday') {
$query = "SELECT * FROM lesson WHERE Day='Tuesday'";
}elseif($_POST['Days'] == 'Wednesday') {
$query = "SELECT * FROM lesson WHERE Day='Wednesday'";
}elseif($_POST['Days'] == 'Thursday') {
$query = "SELECT * FROM lesson WHERE Day='Thursday'";
}elseif($_POST['Days'] == 'Friday') {
$query = "SELECT * FROM lesson WHERE Day='Friday'";
}elseif($_POST['Days'] == 'Saturday') {
$query = "SELECT * FROM lesson WHERE Day='Saturday'";
}elseif($_POST['Days'] == 'Sunday') {
$query = "SELECT * FROM lesson WHERE Day='Sunday'";
}elseif($_POST['Days'] == 'All') {
$query = "SELECT * FROM lesson";
}
if($_POST['Instructors'] == 'Trevor') {
$query = "SELECT * FROM lesson INNER JOIN instructor
ON lesson.Instructor_ID = instructor.Instructor_ID WHERE Forename='Trevor'";
}elseif($_POST['Instructors'] == 'Laura') {
$query = "SELECT * FROM lesson INNER JOIN instructor
ON lesson.Instructor_ID = instructor.Instructor_ID WHERE Forename='Laura'";
}elseif($_POST['Instructors'] == 'Rachel') {
$query = "SELECT * FROM lesson INNER JOIN instructor
ON lesson.Instructor_ID = instructor.Instructor_ID WHERE Forename='Rachel'";
}elseif($_POST['Instructors'] == 'Ryan') {
$query = "SELECT * FROM lesson INNER JOIN instructor
ON lesson.Instructor_ID = instructor.Instructor_ID WHERE Forename='Ryan'";
}elseif($_POST['Instructors'] == 'Steve') {
$query = "SELECT * FROM lesson INNER JOIN instructor
ON lesson.Instructor_ID = instructor.Instructor_ID WHERE Forename='Steve'";
}elseif($_POST['Instructors'] == 'All') {
$query = "SELECT * FROM lesson INNER JOIN instructor
ON lesson.Instructor_ID = instructor.Instructor_ID";
}
if($_POST['TypeLessons'] == 'Keeping Fit') {
$query = "SELECT * FROM lesson WHERE Type_of_Lesson='Keeping Fit'";
}elseif($_POST['TypeLessons'] == 'How to Swim') {
$query = "SELECT * FROM lesson WHERE Day='How to Swim'";
}elseif($_POST['TypeLessons'] == 'Relaxing Sessions') {
$query = "SELECT * FROM lesson WHERE Day='Relaxing Sessions'";
}elseif($_POST['TypeLessons'] == 'Being Sporty') {
$query = "SELECT * FROM lesson WHERE Day='Being Sporty'";
}elseif($_POST['TypeLessons'] == 'All') {
$query = "SELECT * FROM lesson";
}
$result = mysql_query($query);
if(!$result) {
echo 'Could not get data: ' . mysql_error();
}
while($row = mysql_fetch_array($result)) {
echo "Lesson ID: {$row["Lesson_ID"]} <br> " .
"Name: {$row["Name"]} <br> " .
"Day: {$row["Day"]} <br> " .
"Start Date: {$row["Start_Date"]} <br> " .
"Start Time: {$row["Start_Time"]} <br> " .
"End Time: {$row["End_Time"]} <br> " .
"Instructor: {$row["Forename"]} <br> " .
"Type of Lesson: {$row["Type_of_Lesson"]} <br> " .
"Number of Places: {$row["No_of_Places"]} <br> <br> ";
}
}
?>
我一直在尝试过滤多个下拉菜单选项,以便在用户单击“搜索课程”时出现查询。但由于某种原因,我不断收到相同的错误消息:注意:未定义的索引:天。 即使 php 代码应该会捡起它,但它似乎不是,我无法弄清楚。这是我下面的代码,注意我还没有选择完所有的 PHP。 另外,一旦我在选择 PHP 时选择了这些选项,我如何也打印出这些查询。非常感谢。
<form action="tester_filter.php" method="post">
<select name="Days">
<option value="All" selected="selected">All days</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
<option value="Sunday">Sunday</option>
</select>
<select name="Instructors">
<option value="All" selected="selected">All instructors</option>
<option value="Trevor">Trevor</option>
<option value="Laura">Laura</option>
<option value="Rachel">Rachel</option>
<option value="Ryan">Ryan</option>
<option value="Steve">Steve</option>
</select>
<select name="TypeLessons">
<option value="All" selected="selected">All types</option>
<option value="Keeping Fit">Keeping Fit</option>
<option value="How to Swim">How to Swim</option>
<option value="Relaxing Sessions">Relaxing Sessions</option>
<option value="Being Sporty">Being Sporty</option>
</select>
<input type="submit" value="search lessons" name="submit" />
</form>
【问题讨论】:
-
向我们展示tester_filter.php的所有代码,这样我们就可以做出正确的答案,除非php标签就是其中的所有内容??
-
现在就这些了,因为我试图获取“Days”,我不确定如何打印出这些查询。我在网上看了一下,有些用的是AJAX,我不懂。