请在php2021数据库基础上进行操作。 查询选择参数指定教师所授各门课程选课男生的总成绩,结果显示“教师编号,教师姓名,课程名称,男生总成绩”,并按总成绩升序排列。 如参数为: tname:["张春蚕"] 则结果形如: 教师编号教师姓名课程名称男生总成绩 t003 张春蚕 数据结构 896.00 t003 张春蚕 高级语言程序设计1673.00

P粉514965422
P粉514965422
2024-11-27 40浏览

摘要

本代码演示了在 PHP2021 数据库中查询教师所授课程中男生总成绩的示例。它通过指定教师姓名作为参数,查询并汇总出符合条件的教师所授课程中男生的总成绩,并按成绩升序排列结果。

代码

<?php
$tname = $_GET['tname'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "php2021";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// Prepare SQL statement
$sql = "SELECT t.tno, t.tname, c.cname, SUM(s.score) AS total_score
FROM teacher AS t
JOIN course AS c ON t.tno = c.tno
JOIN sc AS s ON c.cno = s.cno
WHERE t.tname IN (?)
AND s.gender = '男'
GROUP BY t.tno, t.tname, c.cname
ORDER BY total_score ASC";

// Prepare statement
$stmt = $conn->prepare($sql);

// Bind parameters
$stmt->bind_param("s", $tname);

// Execute statement
$stmt->execute();

// Bind result variables
$stmt->bind_result($tno, $tname, $cname, $total_score);

// Fetch and display results
while ($stmt->fetch()) {
    echo "<tr>";
    echo "<td>" . $tno . "</td>";
    echo "<td>" . $tname . "</td>";
    echo "<td>" . $cname . "</td>";
    echo "<td>" . $total_score . "</td>";
    echo "</tr>";
}

// Close statement and connection
$stmt->close();
$conn->close();
?>

总结

这段代码提供了查询特定教师所授课程中男生总成绩的完整示例。它利用了 PHP2021 数据库,并通过绑定参数的方式防止 SQL 注入。查询结果按总成绩升序排列,并显示教师编号、教师姓名、课程名称和 男生总成绩。

php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;