2015-08-14 3 views
0

У меня есть таблица с количеством полей, которые меняются с помощью операции. Чтобы упростить его к таблице нижеДобавление значений строки в базе данных mysql в динамической таблице

STUDENT MATHS PHYSICS BIOLOGY TOTAL 

PAUL  89  87  65  

JOHN  56  89  54  

Цель состоит в том, чтобы суммировать баллы каждого учащегося в общей колонке. Я написал небольшой PHP-код для этого эффекта, но не дал мне результат в целом. Я также пробовал другие варианты (которые я, возможно, не хочу публиковать), которые не работают. Любые предложения, пожалуйста.

$table = 'scores'; 
$total = ''; 
$result = mysql_query("SELECT * FROM $table"); 

if (!$result) { 
    die("Query to show fields from table failed"); 
} 

$fields_num = mysql_num_fields($result); 
//table to display student scores 
echo "<table><tr>"; 

for ($i=0; $i<$fields_num; $i++) { 
    $field = mysql_fetch_field($result); 
    echo "<th>$field->name</td>"; 
} 

echo "</tr>\n"; 

while ($row = mysql_fetch_object($result)) { 
    $student_id=$row->student_id; 
    echo "<tr>"; 
    foreach($row as $cell) { 
     echo "<td> $cell </td>"; 
    } 
    // calcuate the total score of each record 
    $total =($cell + $total); 
    echo "</tr>\n"; 
    echo 'The total = '.$total; 
} 

// functio to insert the total scores t the table 
function tScore($table, $student_id, $total) { 
    $sqlCommand = "UPDATE $table SET total='$total' WHERE student_id='$student_id' "; 
    $query = mysql_query($sqlCommand) or die ('Sorry something went wrong while inserting Subjects Scores'); 

    return $total; 
    return $student_id; 
} 
?> 
+0

См нормализации. Таблица базы данных не является таблицей. – Strawberry

ответ

0

Ваш запрос должен быть, как этот

$sel="select *,(sum(Maths)+sum(Physics)+sum(Biology)) as Total from sum group by Student"; 
+0

Спасибо, Это будет работать только в том случае, если поля будут динамическими и будут меняться вдоль операции, скажем, добавится еще один курс «Язык». Я не хочу менять коды каждый раз, когда это происходит – Jomaz

Смежные вопросы