2013-09-25 3 views
0

나는 수학을 좀해야하는데, 그렇게 할 방법을 찾지 못하는 것 같습니다.PHP 코드에 대한 아이디어가 있으십니까?

$notele = mysql_query($pentrumedie) 
       or die("Nu am gasit note in baza de date"); 
$numar_note = mysql_num_rows($notele); 
if($numar_note==0) 
{ 

} 
else 
{ 
    while($rand2=mysql_fetch_array($notele)) 
    {  
     $note1 = ($rand2['notele']/$numar_note); 
     $medie_septembrie = ($note1/$cate_note_sunt); 
    } 
} 

나는 모두를 위해 그런 일을 할 필요가 : 내가 좋아하는 뭔가를 할 필요가

SELECT materii.id, 
     materii.materie, 
     GROUP_CONCAT(note.note) AS note, 
     GROUP_CONCAT(DISTINCT teza.`teza`) AS teza 


FROM materii 
LEFT JOIN teza ON materii.id = teza.id_materie 
LEFT JOIN note ON materii.id = note.id_materie 
LEFT JOIN elevi ON note.id_elev = elevi.cod_elev 
LEFT JOIN luni ON note.`luna_nota`=luni.`id` 
WHERE elevi.`cod_elev` = 1 AND luna_nota = 9 
GROUP BY materii.id, materii.materie 
ORDER BY materii.materie 

table

:

나는이 쿼리의 결과, 다음과 같은 테이블이 "note"하지만 $ rand2 [ 'notele']는 더 많은 "note"가 있고 "teza"에 대한 값이있는 경우 이들의 합계가되어야합니다. 수학 공식은 다음과 같아야합니다.

(($rand2['notele']/$numar_note) * 3 + teza)/4 

기능면 몇 가지 시도했지만 아무도 작동하지 않습니다 .... 어떤 아이디어? 감사!!!

+4

크리스털 맑은 같은 PHP를 사용 뭔가 ... –

+0

@Ruben을 변경 도와주십시오 시도 할 수 있습니다? 감사! –

+0

SQL 쿼리에서 집계 SUM() 및 COUNT() 함수를 사용하지 않는 이유는 무엇입니까? –

답변

2

당신은, 그렇다면 조금 SQL 문

SELECT materii.id, 
    materii.materie, 
    SUM(note.note)/COUNT(note.note) AS medie, 
    GROUP_CONCAT(DISTINCT teza.`teza`) AS teza 
FROM materii 
LEFT JOIN teza ON materii.id = teza.id_materie 
LEFT JOIN note ON materii.id = note.id_materie 
LEFT JOIN elevi ON note.id_elev = elevi.cod_elev 
LEFT JOIN luni ON note.`luna_nota`=luni.`id` 
WHERE elevi.`cod_elev` = 1 AND luna_nota = 9 
GROUP BY materii.id, materii.materie 
ORDER BY materii.materie 

그리고

$medii = array(); 
while($rand = mysql_fetch_assoc($notele)) 
{ 
    if($rand["teza"] == "" || $rand["teza"] == NULL) 
    { 
    $medii[] = array("materie" => $rand["materie"], 
        "medie" => $rand["medie"]); 
    } 
    else 
    { 
    $medii[] = array("materie" => $rand["materie"], 
        "medie" => ((float)$rand["medie"]*3 + (float)$rand["teza"])/4); 
    } 
} 
var_dump($medii); 
+1

나는 지금 노력하고 있으며, 다시 올 것이다! 당신은 루마니아 인 것처럼 보입니다 "Multumesc"! –

+0

출력 : "0 => 배열 (크기 = 2) 'materie'=> null 'medie'=> null"그러나 쿼리를 테스트하면 테이블에 데이터가 표시됩니다 .... 이유가 궁금합니다 ... –

+0

지금 시도하십시오. 나는 실수를했다. $ notele을 $ rand와 whlie 루프로 대체하십시오. 그리고 @DarkBee가 말한 것처럼 mysql_ * 함수에서 mysqli_ 함수로 변경하는 것을 고려해야합니다. – beniamin

관련 문제