0

このようなテーブルを表示したいこのコードを書くのを手伝ってください http://imageshack.us/photo/my-images/443/reportw.jpg/

学生IDに応じて3つのデータベーステーブルから生成

http://img51.imageshack.us/img51/1272/tablesh.jpg

だから私は試験や科目の固定値なしでこの表を表示したい..私はこの方法でそれをやったし、それはうまくいっているが、それが最善の方法であるかどうか知りたい.

 <? 


$con = mysql_connect("localhost","root","123"); 
if (!$con) 
  { 
  die('Could not connect: ' . mysql_error()); 
   } 
mysql_select_db("test", $con); 


//////////////////////// 



///////////////// Select the exams and put it in array  
$ex = mysql_query("SELECT * FROM exams");  
$dc=1; 
while ($rowex= mysql_fetch_array($ex)){ 
$exn[$dc]=$rowex['Exam_Title']; 
$exid[$dc]=$rowex['Exam_ID']; 
$dc++; 
} 


/////////////////////////// Select the subjects and put it in array  
$sj = mysql_query("SELECT * FROM subjects");  
$dsj=1; 
while ($rowsj= mysql_fetch_array($sj)){ 
$sjn[$dsj]=$rowsj['Subj_Title']; 
$sjid[$dsj]=$rowsj['Subj_ID']; 
$dsj++; 
} 

////////////////Select the student marks and put it in array with subject id and exam id 

$result = mysql_query("SELECT * FROM stu_marks");  
while ($row= mysql_fetch_array($result)){ 
$arr[$row['Subj_ID']][$row['Exam_ID']]=$row['Grade']; 

} 
/////////////////////// count the exams and the subjects to draw the table 
 $exc=count($exn); 
 $sjc=count($sjn); 
 ?> 

 <table width="400" border="1"> 
  <tr> 



    <? 
///////// display subjects in table rows 
for ($d=0;$d<=$sjc;$d++){ 

if ($d==0){ 
    echo '<td>-</td>'; 
}else{ 
    echo ' <tr><td>'.$sjn[$d].'</td>'; 
} 

 ///////// display exams in table head tds  

for ($p=1;$p<=$exc;$p++){ 
if ($d==0){ 
    echo '<td> '.$exn[$p].'</td>'; 
}else{ 
?> 
 <td> 

 <?=$arr[$sjid[$d]][$exid[$p]]?> 

 </td> 
  <?} 
  } 
 }?> 

  </table>

これがこれを行う良い方法かどうかだけ尋ねます

私の英語でごめんなさい

4

1 に答える 1

1

コードがそのまま機能し、より良い方法があるかどうかを知りたい場合は、コード レビュー: スタック交換がここよりも適しています。

于 2012-07-06T17:00:54.070 に答える