'how to sum column using JavaScript?
I'm trying to sum column from the editable textbox(popover?)
What I'm trying to do is to sum.
Kehadiran+tugas+UTS+Uas = total and if "Total" > 80 then Nilai = A.
The table is connected to MySQL database.
<?php
include('database_connection.php');
$column = array("Id_krs", "NIM_krs_Mhs","Nama" , "Kode_Matakuliah_krs", "Semester_Ambil", "Kehadiran","Tugas", "UTS", "UAS", "Total", "Nilai", "Mutu");
//$sum = array_sum(array_column($Kehadiran,$Tugas,$UTS,$UAS 'Total'));
Since I'm a very bad/beginner at Php, try so many options, just can't get it to work. have no idea how to use the code.
Any kind of help is highly appreciated.
Thank you.
edit code from fetch.php:
<?php
include('database_connection.php');
$column = array("Id_krs", "NIM_krs_Mhs","Nama_Mahasiswa" , "Kode_Matakuliah_krs", "Semester_Ambil", "Kehadiran","Tugas", "UTS", "UAS", "Total", "Nilai", "Mutu");
$query = "
SELECT * FROM krs INNER JOIN mahasiswa ON NIM=NIM_krs_Mhs
";
if(isset($_POST['filter_kelas'], $_POST['filter_Kode']) && $_POST['filter_kelas'] != '' && $_POST['filter_Kode'] != '')
{
$query .= '
WHERE Kode_krs_Kelas = "'.$_POST['filter_kelas'].'" AND Kode_Matakuliah_krs = "'.$_POST['filter_Kode'].'"
';
}
if(isset($_POST['order']))
{
$query .= 'ORDER BY '.$column[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].' ';
}
else
{
$query .= 'ORDER BY NIM_krs_Mhs ASC ';
}
$query1 = '';
if($_POST["length"] != -1)
{
$query1 = 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
}
$statement = $connect->prepare($query);
$statement->execute();
$number_filter_row = $statement->rowCount();
$statement = $connect->prepare($query . $query1);
$statement->execute();
$result = $statement->fetchAll();
$data = array();
foreach($result as $row)
{
$sub_array = array();
$sub_array[] = $row['Id_krs'];
$sub_array[] = $row['NIM_krs_Mhs'];
$sub_array[] = $row['Nama_Mahasiswa'];
$sub_array[] = $row['Kode_Matakuliah_krs'];
$sub_array[] = $row['Semester_Ambil'];
$sub_array[] = $row['Kehadiran'];
$sub_array[] = $row['Tugas'];
$sub_array[] = $row['UTS'];
$sub_array[] = $row['UAS'];
$sub_array[] = $row['Total'];
$sub_array[] = $row['Nilai'];
$sub_array[] = $row['Mutu'];
$data[] = $sub_array;
}
function count_all_data($connect)
{
$query = "SELECT * FROM krs INNER JOIN mahasiswa ON NIM=NIM_krs_Mhs";
$statement = $connect->prepare($query);
$statement->execute();
return $statement->rowCount();
}
$output = array(
"draw" => intval($_POST["draw"]),
"recordsTotal" => count_all_data($connect),
"recordsFiltered" => $number_filter_row,
"data" => $data
);
echo json_encode($output);
?>
Solution 1:[1]
if you trying to sum specific columns in the array, let's suppose the columns array here represent the data in the same sequence
$column = array("Id_krs", "NIM_krs_Mhs","Nama" , "Kode_Matakuliah_krs", "Semester_Ambil", "Kehadiran","Tugas", "UTS", "UAS", "Total", "Nilai", "Mutu");
so to sum (Kehadiran+tugas+UTS+Uas)
then it will become like this
$total = $column[5] + $column[6] + $column[7] + $column[8];
also, you can sum these numbers from the database add this to your select query
(Kehadiran + Tugas + UTS + UAS) AS total
Solution 2:[2]
$total = array_sum([$Kehadiran, $tugas, $UTS, $Uas])
if ($total > 80) {
$nilai = 'A'
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ahmed Hassan |
| Solution 2 | kennarddh |


