1
내 스크립트에 도움이 필요합니다. matric_no와 score라는 두 개의 열이있는 CSV 파일을 업로드하고 있습니다. 문제는 내가 maintable에 성적 항목을 채우기 위해 노력하고 있다는 점입니다. 각 점수 열의 각 행에 무엇이 업로드되는지에 따라 항목이 있습니다. 점수가 70보다 많으면 점수가 A 여야합니다. 내 maintable의 stucture 내가 동적으로 생성 할 윌 등급이며, IF 문을 사용하여 CSV의 값으로 열을 채우는 방법
MAINTABLE
score_id
matric_no
score
grade
course_code
level
semester_name
session
마지막 네 개의 열
이 인터페이스에서 사용자 입력에서 값으로 채워집니다입니다.덕분에 도움을
<?php
$fname = $_FILES['csv_file']['name'];
$chk_ext = explode(".",$fname);
$filename = $_FILES['csv_file']['tmp_ name'];
$handle = fopen($filename, "r");
if(!$handle){
die ('Cannot open file for reading');
}
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE)
{
$query = "INSERT INTO maintable (matric_no, score, session, semester_ name, course_code, level)
values('$data[0]', '$data[1]', '". $session."', '".$semester_name."', '". $course_code."', '".$level."')
ON DUPLICATE KEY UPDATE matric_no = matric_no";
mysql_query($query) or die(mysql_error ());
}
if ($row['score'] >= 70) {
$grade = 'A';
}
elseif ($row['score'] >= 60) {
$grade = 'B';
}elseif ($row['score'] >= 50) {
$grade = 'C';
}elseif ($row['score'] >= 45) {
$grade = 'D';
}elseif($row['score'] >= 40) {
$grade = 'E';
}else{
$grade = 'F';
}
$query = "UPDATE maintable
SET grade = 'A' WHERE score >= 70,
SET grade = 'B' WHERE score >= 60 AND score < 70 ,
SET grade = 'C' WHERE score >= 50 AND score < 60,
SET grade = 'D' WHERE score >= 45 AND score < 50,
SET grade = 'E' WHERE score >= 40 AND score < 45 ,
SET grade = 'F' WHERE score < 40" mysql_query($query) or die(mysql_error ());
fclose($handle);
?>
감사합니다. 참고 : 서식과 들여 쓰기를 용서해주십시오. 나는이 공동체에 대한 어떤 경의도 의미하지 않았다. 감사