2011-08-10 5 views
0

Alors que je travaillais avec un bon jeune homme de SO la nuit dernière, j'ai fait beaucoup de travail sur un système de présence pour la guilde d'un ami, et maintenant tout est fait sauf pour une partie.Remplir une base de données avec les résultats d'un autre?

Nous avons fait beaucoup de progrès, mais l'ami que j'aide a eu une dernière requête. Sur la page de chaque utilisateur, nous produisions le nombre de raids auxquels l'utilisateur avait été ou manquait, mais nous produisions également le pourcentage de raids qui le seraient.

Exemple:

Date     Member    Attended 
8/10/2011 1:44:27pm Testing1234   Yes 
8/10/2011 1:44:45pm Testing1234   Yes 
8/10/2011 1:44:53pm Testing1234   No 

        Overall Attendance: 66.666666667% 

La façon dont nous calculons le pour cent sur chaque page est fait comme cela (au moment de la recherche d'utilisateur):

$total_query= mysql_query("SELECT rAttend, rTotal FROM users WHERE userName='$v_member'"); 
    $result = mysql_fetch_assoc($total_query); 
    $percent = $result['rTotal'] == 0 ? 0 : (($result['rAttend']/$result['rTotal']) * 100); 

L'ami veut maintenant créer une nouvelle table où chaque membre ($ v_member) est trié sur une page en fonction de son pourcentage de présence au raid. Je suis un peu perdu sur la façon de le faire, d'une manière qui ne serait pas manuelle. Quelqu'un peut-il m'aider avec au moins un endroit pour commencer à ce sujet?

Merci beaucoup!

Répondre

1
SELECT userName, rAttend, rTotal, 100 * (rAttend/rTotal) as rAverage 
FROM users 
ORDER BY rAverage 
0

Est-il acceptable pour votre ami de montrer une page qui a été triée correctement sans qu'il y ait une table distincte? Si oui, vous pouvez calculer le pourcentage dans la requête:

SELECT (rAttend/rTotal) * 100 as percent_attend FROM users ORDER BY (rAttend/rTotal) DESC 
Questions connexes