Php 如何将值放入动态指定的标题
我正在与这个escenario合作:Php 如何将值放入动态指定的标题,php,mysql,Php,Mysql,我正在与这个escenario合作: Students Table IDNUMBER NAME LEVEL COURSE SECTION Exams Table IDNUMBER SUBJECT_ID SCORE Student_Subject Table SUBJECT_ID LEVEL COURSE SECTION 主语1主语2主语3。。。标题是根据Student_Subject表中的Student表级别、课程和部分动态生成的,然后我从Student_Subject表中收集主题I
Students Table
IDNUMBER
NAME
LEVEL
COURSE
SECTION
Exams Table
IDNUMBER
SUBJECT_ID
SCORE
Student_Subject Table
SUBJECT_ID
LEVEL
COURSE
SECTION
主语1主语2主语3。。。标题是根据Student_Subject表中的Student表级别、课程和部分动态生成的,然后我从Student_Subject表中收集主题ID,以获得考试表中的分数
期望输出
IDNUMBER NAME SUBJECTID_1 SUBJECTID_2 SUBJECTID_3 ...
123456 JACK 6.5 8.5 9.0
我能够得到标题、学生列表和他们的分数,但我把它们放在了错误的位置
IDNUMBER NAME SUBJECTID_1 SUBJECTID_2 SUBJECTID_3 ...
123456 JACK 9.0 8.5 6.5
这是我到目前为止所拥有的
<?php
include('../connect.php');
// Finds the Names
$sql="SELECT * FROM student WHERE course='$course' AND yearlevel='$year' AND section ='$section' " ;
$result = mysql_query($sql);
echo $title.' SECCIÓN: '.'"'.$section.'"';
echo "<table border='1' cellpadding='1' id='resultTable'><tr><th>#</th><th>NIE</th> <th>NOMBRE COMPLETO</th>";
// Finds subjects
$sql_subjects="SELECT subject FROM studentsubject WHERE course='$course' AND level='$year' AND section ='$section'" ;
$result_subjects = mysql_query($sql_subjects);
$s = '1';
while($subjects = mysql_fetch_array($result_subjects))
{
// Muestra los códigos de las materias.
echo "<th style='text-align:center'>".$subjects['subject']."</th>";
$s++;
}
echo "</tr>";
$i='1';
while($row = mysql_fetch_array($result))
{
//Diplays student info
echo "<tr>";
echo "<td style='text-align:center'>".$i."</td>";
echo "<td>".$row['idnumber'];
$student = $row['idnumber'];
echo "<td>".$row['lname'].','.$row['fname']."</td>";
$sql_grades="SELECT subject,score FROM exam WHERE idnum='$student' AND term='1'" ;
$result_grades = mysql_query($sql_grades);
$g = '1';
while($grades = mysql_fetch_array($result_grades))
{
// Displays the grades
echo "<td style='text-align:center'>".$grades['score']."</td>";
$g++;
}
echo "</tr>";
$i++;
}
echo "</table>";
有更好的方法吗?我正在学习,我不知道这是否会给服务器带来很大的负载
谢谢你的加入建议。我从中学到了很多,但这对我来说太过分了,我不知道如何在这种情况下实现它 由于当前代码的分数顺序相反,您可以尝试使用
orderbyscore DESC
-
$sql_grades="SELECT subject,score FROM exam WHERE idnum='$student' AND term='1' ORDER BY score DESC" ;
但是,您应该学习如何使用,因为您的问题是,在当前代码中,主题值和分数值之间没有关系。您应该重新设计模式,以便不以列名存储数据。
$sql_grades="SELECT subject,score FROM exam WHERE idnum='$student' AND term='1' ORDER BY score DESC" ;