I need to make some math, and I cannot seem to find a way to do it.
I have the following table, resulting from this query:
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
I need to do something like :
$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);
}
}
I need to do something like that for all the "note", but $rand2['notele'] needs to be the sum of them, if there are more "note", and if there is a value for "teza", then the math formula needs to be:
(($rand2['notele'] / $numar_note) * 3 + teza) / 4
I tried some if functions, but none of them work....Any Ideas? Thanks!!!
you can try to change a little bit your sql statement
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
And in php use something like
$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);
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments