用php处理数据库表中的值
我目前在MySQL数据库中有5个表。其中一些共享外键,并且相互依存。我根据他们的专业显示课程。每节课都在秋季、春季或全年上课。在我的数据库中有一个名为Serm的表,它有一个用php处理数据库表中的值,php,Php,我目前在MySQL数据库中有5个表。其中一些共享外键,并且相互依存。我根据他们的专业显示课程。每节课都在秋季、春季或全年上课。在我的数据库中有一个名为Serm的表,它有一个id,year,和Serm字段。特别是字段是一个tinyint,它有三个值0,1,2。这表示秋季、春季或全年。当我显示查询而不是让它显示0或1或2时,我可以让它显示fall、spring等吗?额外:如何在每个循环的末尾添加空间,使数据看起来不聚集 键 0 Fall 1 Spring 2 All-year Computer P
id
,year
,和Serm
字段。特别是字段是一个tinyint
,它有三个值0
,1
,2
。这表示秋季、春季或全年。当我显示查询而不是让它显示0
或1
或2
时,我可以让它显示fall
、spring
等吗?额外:如何在每个循环的末尾添加空间,使数据看起来不聚集
键
0 Fall
1 Spring
2 All-year
Computer Programming I
CPSC1400
Introduction to disciplined, object-oriented program development.
4 hrs.
0
2013
Computer Programming I
CPSC1400
Introduction to disciplined, object-oriented program development.
4 hrs.
Fall
2013
PHP
<?
try {
$pdo = new PDO ("mysql:host=$hostname;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$query = $pdo->prepare("SELECT course.name, course.code, course.description, course.hours, semester.semester, semester.year
FROM course
LEFT JOIN major_course_xref ON course.id = major_course_xref.course_id
LEFT JOIN major ON major.id = major_course_xref.major_id
LEFT JOIN course_semester_xref ON course.id = course_semester_xref.course_id
LEFT JOIN semester ON course_semester_xref.semester_id = semester.id");
$query->execute();
if ($query->execute()){
while ($row = $query->fetch(PDO::FETCH_ASSOC)){
print $row['name'] . "<br>";
print $row['code'] . "<br>";
print $row['description'] . "<br>";
print $row['hours'] . " hrs.<br>";
print $row['semester'] . "<br>";
print $row['year'] . "<br>";
}
}
else
echo 'Could not fetch results.';
unset($pdo);
unset($query);
?>
渴望显示
0 Fall
1 Spring
2 All-year
Computer Programming I
CPSC1400
Introduction to disciplined, object-oriented program development.
4 hrs.
0
2013
Computer Programming I
CPSC1400
Introduction to disciplined, object-oriented program development.
4 hrs.
Fall
2013
将查询中的学期.学期
替换为:
CASE semester.semester
WHEN 0 THEN 'Spring'
WHEN 1 THEN 'Fall'
WHEN 2 THEN 'All-year'
END semester
再做一张桌子。说学期时间
| id | semester_time |
| 0 | Fall |
| 1 | Spring |
| 2 | All_year |
然后在整个学期的时间里加入并复习
基于上表的查询的可能模型:
SELECT course.name, course.code, course.description, course.hours, semester.semester, semester.year, semester_time
FROM course
LEFT JOIN major_course_xref ON course.id = major_course_xref.course_id
LEFT JOIN major ON major.id = major_course_xref.major_id
LEFT JOIN course_semester_xref ON course.id = course_semester_xref.course_id
LEFT JOIN semester ON course_semester_xref.semester_id = semester.id
LEFT JOIN semester_time ON semester.semester = semester_time.id
在每个循环后添加空格
只需更改值以满足您的需要。while($row=$query->fetch(PDO::fetch\u ASSOC)){
while ($row = $query->fetch(PDO::FETCH_ASSOC)){
print $row['name'] . "<br>";
print $row['code'] . "<br>";
print $row['description'] . "<br>";
print $row['hours'] . " hrs.<br>";
print ($row['semester'] == 0) ? "FALL":( ($row['semester'] == 1) ? "Spring" : ( ($row['semester'] == 2) ? "All-year":"")) . "<br>";
print $row['year'] . "<br>";
print "<br>------------------------------<br />";
}
打印$row['name']。“
”;
打印$row['code']。“
”;
打印$row['description']。“
”;
打印$row['hours'].“hrs.
”;
打印($row['sement']==0)?“秋季”:($row['sement']==1)?“春季”:($row['sement']==2)?“全年”:”)。“
”;
打印$行['year']。“
”;
打印“
------------------------------------
”;
}