Je souhaite créer un système de notation, qui prend en compte divers critères.
Les coefficients et critères pouvant etre modifiés par l'utilisateur, la moyenne doit etre calculée à chaque execution, en fonction de l'utilisateur.
Mon problème réside dans le tri du tableau : comment faire pour sortir en premier le tableau contenant les notes qui a la plus haute moyenne ?
Voici le code :
CODE
function CompareAll(){
$query=@mysql_query('SELECT * FROM `'.PREFIX.'table` ORDER BY id DESC');
$fetch=@mysql_fetch_array($query);
$i=0;
$buffer=array(0=>'', 1=>'', 2=>'');
while($content=@mysql_fetch_array($query)){
if(empty($_COOKIE['coefs'])){
$sum=$content['Mod']*1+$content['Them']*1+$content['Instal']*0.5+$content['Usab']*2+$content['Simpli']*2+$content['Res']*1.5+$content['Conn']*1;
$total=$sum/9;
$buffer[$i].='<h2>'.$content['title'].'</h2><table>
<tr>
<td>Modulabitlité : (1)</td>
<td>Themabilité : (1)</td>
<td>Installation : (0.5)</td>
<td>Usabilité : (2)</td>
<td>Simplicité : (2)</td>
<td>UtilisationRessources : (1.5)</td>
<td>Connaissances : (1)</td>
<td>Moyenne :</td>
</tr>
<tr>
<td>'.$content['Mod'].'</td>
<td>'.$content['Them'].'</td>
<td>'.$content['Instal'].'</td>
<td>'.$content['Usab'].'</td>
<td>'.$content['Simpli'].'</td>
<td>'.$content['Res'].'</td>
<td>'.$content['Conn'].'</td>
<td>'.round($total,2).'</td>
</tr>
</table><br />';
}
else
{
$coef = $_COOKIE['coefs'];
$coefunique = explode(";", $coef);
$sum=$content['Mod']*$coefunique[0]+$content['Them']*$coefunique[1]+$content['Instal']*$coefunique[2]+$content['Usab']*$coefunique[3]+$content['Simpli']*$coefunique[4]+$content['Res']*$coefunique[5]+$content['Conn']*$coefunique[6];
$total=$sum/($coefunique[0]+$coefunique[1]+$coefunique[2]+$coefunique[3]+$coefunique[4]+$coefunique[5]+$coefunique[6]);
$buffer[$i].='<h2>'.$content['title'].'</h2><table>
<tr>
<td>Modulabitlité : ('.$coefunique[0].')</td>
<td>Themabilité : ('.$coefunique[1].')</td>
<td>Installation : ('.$coefunique[2].')</td>
<td>Usabilité : ('.$coefunique[3].')</td>
<td>Simplicité : ('.$coefunique[4].')</td>
<td>UtilisationRessources : ('.$coefunique[5].')</td>
<td>Connaissances : ('.$coefunique[6].')</td>
<td>Moyenne :</td>
</tr>
<tr>
<td>'.$content['Mod'].'</td>
<td>'.$content['Them'].'</td>
<td>'.$content['Instal'].'</td>
<td>'.$content['Usab'].'</td>
<td>'.$content['Simpli'].'</td>
<td>'.$content['Res'].'</td>
<td>'.$content['Conn'].'</td>
<td>'.round($total,2).'</td>
</tr>
</table><br />';
}
$i++;
}
foreach($buffer as $key=>$content){
echo $content;
}
}
$query=@mysql_query('SELECT * FROM `'.PREFIX.'table` ORDER BY id DESC');
$fetch=@mysql_fetch_array($query);
$i=0;
$buffer=array(0=>'', 1=>'', 2=>'');
while($content=@mysql_fetch_array($query)){
if(empty($_COOKIE['coefs'])){
$sum=$content['Mod']*1+$content['Them']*1+$content['Instal']*0.5+$content['Usab']*2+$content['Simpli']*2+$content['Res']*1.5+$content['Conn']*1;
$total=$sum/9;
$buffer[$i].='<h2>'.$content['title'].'</h2><table>
<tr>
<td>Modulabitlité : (1)</td>
<td>Themabilité : (1)</td>
<td>Installation : (0.5)</td>
<td>Usabilité : (2)</td>
<td>Simplicité : (2)</td>
<td>UtilisationRessources : (1.5)</td>
<td>Connaissances : (1)</td>
<td>Moyenne :</td>
</tr>
<tr>
<td>'.$content['Mod'].'</td>
<td>'.$content['Them'].'</td>
<td>'.$content['Instal'].'</td>
<td>'.$content['Usab'].'</td>
<td>'.$content['Simpli'].'</td>
<td>'.$content['Res'].'</td>
<td>'.$content['Conn'].'</td>
<td>'.round($total,2).'</td>
</tr>
</table><br />';
}
else
{
$coef = $_COOKIE['coefs'];
$coefunique = explode(";", $coef);
$sum=$content['Mod']*$coefunique[0]+$content['Them']*$coefunique[1]+$content['Instal']*$coefunique[2]+$content['Usab']*$coefunique[3]+$content['Simpli']*$coefunique[4]+$content['Res']*$coefunique[5]+$content['Conn']*$coefunique[6];
$total=$sum/($coefunique[0]+$coefunique[1]+$coefunique[2]+$coefunique[3]+$coefunique[4]+$coefunique[5]+$coefunique[6]);
$buffer[$i].='<h2>'.$content['title'].'</h2><table>
<tr>
<td>Modulabitlité : ('.$coefunique[0].')</td>
<td>Themabilité : ('.$coefunique[1].')</td>
<td>Installation : ('.$coefunique[2].')</td>
<td>Usabilité : ('.$coefunique[3].')</td>
<td>Simplicité : ('.$coefunique[4].')</td>
<td>UtilisationRessources : ('.$coefunique[5].')</td>
<td>Connaissances : ('.$coefunique[6].')</td>
<td>Moyenne :</td>
</tr>
<tr>
<td>'.$content['Mod'].'</td>
<td>'.$content['Them'].'</td>
<td>'.$content['Instal'].'</td>
<td>'.$content['Usab'].'</td>
<td>'.$content['Simpli'].'</td>
<td>'.$content['Res'].'</td>
<td>'.$content['Conn'].'</td>
<td>'.round($total,2).'</td>
</tr>
</table><br />';
}
$i++;
}
foreach($buffer as $key=>$content){
echo $content;
}
}
Ici, c'est la deuxieme partie du code qui importe.
La "clé" avec laquelle j'aimerai trier le tableau est donc round($total,2).
Merci.
