Ma position dans un classement...
Posté : 24 mai 2012, 00:57
Salut à tous,
alors j'ai un problème qui relève pour moi de l'impossible mais je suis sûr que vous pourrez m'aider à trouver une solution.
Je créé un site ou il y a un système de vote par photos.
Jusque là, rien de très exceptionnel.
Mais voilà, il y a un espace membre et le but du site est de récolter le max de j'aime sur ses photos.
Mais alors voilà, j'ai codé moi même 50% du site, et utilisé donc quelques modules comme celui des "pouces verts" que je trouvait très complet.
Le truc c'est que je me retrouve avec 3 tables clefs sur ma BDD.
(j'ai barré les champs inutiles)
membres (ou les membres sont répertoriés)

catalogue
là ou sont répertoriés les photos

et enfin, celle ou sont répertoriés les votes. en effet, ça aurait été plus simple d'avoir les votes sur la table catalogue
donc ici, on a thumbsup_items

donc concrètement, quand on vote pour une photo, une entrée s'insère dans thumbsup_items, donc un "item" s'ajoute et est modifié à chaque vote posifif ou négatif.
le champs name de thumbsup_items et author_id de catalogue doivent coordonner avec id de membres afin que les tables soient liées entre elle. Bref tout va bien.
Là j'ai voulu m'attaquer au classement. Voici mon code.
donc ça m'affiche ceci :

notez que je dois mettre le numéro de membre car je n'ai pas d'information dans thumbsup_items concernant le pseudo !
Et donc là, le plus important: j'aimerai afficher ma position dans le classement.
Et je ne sais pas comment m'y prendre. >.<
j'ai testé ça :
mais ça m'a pas l'air d'être ça...
Pouvez vous m'aider, en prenant compte de l'organisation pourrie de ma BDD ? ca m'évitera de tout reprendre sur le site ^^
Merci d'avance !
alors j'ai un problème qui relève pour moi de l'impossible mais je suis sûr que vous pourrez m'aider à trouver une solution.
Je créé un site ou il y a un système de vote par photos.
Jusque là, rien de très exceptionnel.
Mais voilà, il y a un espace membre et le but du site est de récolter le max de j'aime sur ses photos.
Mais alors voilà, j'ai codé moi même 50% du site, et utilisé donc quelques modules comme celui des "pouces verts" que je trouvait très complet.
Le truc c'est que je me retrouve avec 3 tables clefs sur ma BDD.
(j'ai barré les champs inutiles)
membres (ou les membres sont répertoriés)

catalogue
là ou sont répertoriés les photos

et enfin, celle ou sont répertoriés les votes. en effet, ça aurait été plus simple d'avoir les votes sur la table catalogue
donc ici, on a thumbsup_items

donc concrètement, quand on vote pour une photo, une entrée s'insère dans thumbsup_items, donc un "item" s'ajoute et est modifié à chaque vote posifif ou négatif.
le champs name de thumbsup_items et author_id de catalogue doivent coordonner avec id de membres afin que les tables soient liées entre elle. Bref tout va bien.
Là j'ai voulu m'attaquer au classement. Voici mon code.
Code : Tout sélectionner
<?php
//Membre
$informationsMembre = 'SELECT * FROM membres WHERE login="'.mysql_escape_string($_SESSION['login']).'"';
$donnees = mysql_query($informationsMembre) or die('Erreur SQL !<br />'.$informationsMembre.'<br />'.mysql_error());
$data1 = mysql_fetch_array($donnees);
//Catalogue
$informationsCata = 'SELECT * FROM catalogue WHERE author_id="'.mysql_escape_string($data1['id']).'"';
$donnees1 = mysql_query($informationsCata) or die('Erreur SQL !<br />'.$informationsCata.'<br />'.mysql_error());
$dataCata = mysql_fetch_array($donnees1);
//Items
$informationsTh = 'SELECT * FROM thumbsup_items ORDER BY (votes_down - votes_up) LIMIT 0,50';
$donnees2 = mysql_query($informationsTh) or die('Erreur SQL !<br />'.$informationsTh.'<br />'.mysql_error());
$i = 0;
while($dataTh = mysql_fetch_array($donnees2)) {
$i++;
$votesTotal = $dataTh['votes_up'] - $dataTh['votes_down'];
//Couleur des points
if($votesTotal >= 0) {
$color = '<font color="#58BF2C">';
} elseif($votesTotal < 0) {
$color = '<font color="red">';
}
//Classement général
echo ' n°<b>'.$i.'</b> Membre numéro <a href="#" /><b>'.$dataTh['name'].'</b></a> avec <b>'.$color.$votesTotal.'</font></b> votes au total<br />';
}
?>
notez que je dois mettre le numéro de membre car je n'ai pas d'information dans thumbsup_items concernant le pseudo !
Et donc là, le plus important: j'aimerai afficher ma position dans le classement.
Et je ne sais pas comment m'y prendre. >.<
j'ai testé ça :
Code : Tout sélectionner
<?php //Mon classement
if($dataTh['name'] == $data1['id']) {
echo 'C\'est moi'.$i;
} ?>Pouvez vous m'aider, en prenant compte de l'organisation pourrie de ma BDD ? ca m'évitera de tout reprendre sur le site ^^
Merci d'avance !

