[PHP] Selectionner tous nombres egaux
Résolu
matdu57
Messages postés
64
Statut
Membre
-
vlmath Messages postés 833 Statut Contributeur -
vlmath Messages postés 833 Statut Contributeur -
Bonjour, j'aimerais savoir comme faire pour sélectionner tous les nombres qui sont égaux
car j'ai un jeu en ligne (style ogame) qui met à jour les stats qui récupère le classement grâce à:
j'aimerai savoir comme sélectionner tous les classement avec le même nombre de points pour pouvoir mettre un classement indentique genre un "-" au lieu d'un chiffre merci si vous avez besoin de plus de renseignement je suis la merci
car j'ai un jeu en ligne (style ogame) qui met à jour les stats qui récupère le classement grâce à:
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `tech_points` DESC;", 'statpoints');
while ($TheRank = mysql_fetch_assoc($RankQry) ) {
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`tech_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `build_points` DESC;", 'statpoints');
while ($TheRank = mysql_fetch_assoc($RankQry) ) {
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`build_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `defs_points` DESC;", 'statpoints');
while ($TheRank = mysql_fetch_assoc($RankQry) ) {
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`defs_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `fleet_points` DESC;", 'statpoints');
while ($TheRank = mysql_fetch_assoc($RankQry) ) {
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`fleet_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `total_points` DESC;", 'statpoints');
while ($TheRank = mysql_fetch_assoc($RankQry) ) {
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`total_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
j'aimerai savoir comme sélectionner tous les classement avec le même nombre de points pour pouvoir mettre un classement indentique genre un "-" au lieu d'un chiffre merci si vous avez besoin de plus de renseignement je suis la merci
A voir également:
- [PHP] Selectionner tous nombres egaux
- Easy php - Télécharger - Divers Web & Internet
- Selectionner texte sur pdf - Guide
- Code binaire des nombres - Guide
- Expert php pinterest - Télécharger - Langages
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
10 réponses
Salut,
Comme ta requête est ordrée, tu peux utiliser une variable de contrôle sur ta boucle, qui contiendra la valeur précédente :
@Bientôt
Comme ta requête est ordrée, tu peux utiliser une variable de contrôle sur ta boucle, qui contiendra la valeur précédente :
while( ....)
{
if( $tech_points_old == $TheRank['tech_points'] )
{
// Impression du '-'
}
$tech_points_old = $TheRank['tech_points'];
}
@Bientôt
j'ai déjà un truc si tech_points_old == tech_points moi c'est les points du joueur d'avant que je voudrais comparais
ps: je sais pas si c'est possible par contre
EDIT: un truc du genre :
pour les techs .
EDIT: marche pas :( une idée please ?
ps: je sais pas si c'est possible par contre
EDIT: un truc du genre :
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `tech_points` DESC;", 'statpoints');
$techpoint = $TheRank['tech_points'];
while ($TheRank = mysql_fetch_assoc($RankQry) ) {
if( $techpoint == $TheRank['tech_points'] )
{
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`tech_rank` = '-' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}else{
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`tech_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
}
pour les techs .
EDIT: marche pas :( une idée please ?
j'ai fais un autre truc ça marche mais le problème c'est que si y'en a un qui a les même points il met pour tous le monde le classement égal a "-"
je sais je l'ai mal coder (noms des variables :p ) mais c'étais pour un test comment faire pour qu'il mette le bon classement pour les autres personnes merci .
ps: j'ai 15 ans je code pas comme un pro désoler si j'ai du mal à comprendre, je trouve je me débrouille pas mal encore :p avec une experience B2i XD
$Rank = 1;
$Rankdo = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `total_points` DESC;", 'statpoints');
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' AND `total_points` = '". $Rank['total_points'] ."' ORDER BY `total_points` DESC;", 'statpoints');
$totalpoint = $TheRank['total_points'];
while ($TheRank = mysql_fetch_assoc($Rankdo) ) {
while ($pointrank = mysql_fetch_assoc($RankQry) ) {
if( $pointrank == true )
{
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`total_rank` = '-' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $pointrank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
echo "rank++==>";print_r ($QryUpdateStats);
}else{
$QryUpdateStats = "UPDATE {{table}} SET ";
$QryUpdateStats .= "`total_rank` = '". $Rank ."' ";
$QryUpdateStats .= "WHERE ";
$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
echo 'Version else';
}
}
}
je sais je l'ai mal coder (noms des variables :p ) mais c'étais pour un test comment faire pour qu'il mette le bon classement pour les autres personnes merci .
ps: j'ai 15 ans je code pas comme un pro désoler si j'ai du mal à comprendre, je trouve je me débrouille pas mal encore :p avec une experience B2i XD
Autant le premier code était claire, autant celui-là l'est beaucoup moins ....
Si j'ai bien compris, tu veux mettre le rank à une personne, et un '-' à toutes les autres personnes qui ont le même nombre de points ? ....
PS : c'est très bien de commencer à programmer jeune ... (j'ai commencer aussi "très" jeune, et j'ai 19 ans aujourd'hui ...)
Si j'ai bien compris, tu veux mettre le rank à une personne, et un '-' à toutes les autres personnes qui ont le même nombre de points ? ....
PS : c'est très bien de commencer à programmer jeune ... (j'ai commencer aussi "très" jeune, et j'ai 19 ans aujourd'hui ...)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
XD je l'ai preciser mais c'est pour les tests oui t'as tous compris le 2 eme code marchent mais il le fais pour tous le monde si quelqu'un a le même nombre de point que quelqu'un d'autre il met des '-' a tous le monde. Aurais-tu une idée
merci de t'as réponse
ps:oui sa dois faire 6 mois que je code y'a ma team de jeune codeur avec qui on s'entraide pour notre jeu style ogame, un codeur pro qui m'as expliquer toutes les bases et tous que je remercie beaucoup en même temps c'est son job donc pour lui c'est simple et surtout Le site du zero qui m'a beaucoup aider c'est grâce à ça que je suis codeur comme ça et à mes heure passer au codage ( 4-5 h par jour min ^^ je suis presque un no-live XD)
merci de t'as réponse
ps:oui sa dois faire 6 mois que je code y'a ma team de jeune codeur avec qui on s'entraide pour notre jeu style ogame, un codeur pro qui m'as expliquer toutes les bases et tous que je remercie beaucoup en même temps c'est son job donc pour lui c'est simple et surtout Le site du zero qui m'a beaucoup aider c'est grâce à ça que je suis codeur comme ça et à mes heure passer au codage ( 4-5 h par jour min ^^ je suis presque un no-live XD)
Essaye ça :
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `tech_points` DESC;", 'statpoints');
$techpoints_old = "";
while ($TheRank = mysql_fetch_assoc($RankQry) )
{
$QryUpdateStats = "UPDATE {{table}} SET ";
if( $TheRank['tech_points'] == $techpoints_old )
{
$QryUpdateStats .= "`tech_rank` = '-' ";
}else{
$QryUpdateStats .= "`tech_rank` = '$Rank' ";
}
$QryUpdateStats .= "WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$Rank++;
}
Non désoler sa marche pas si vous trouver pas c'est pas grave je met l'idée de coter et j'attend que mon amis pro codeur se co :p XD
Ce que je suis bête ... j'ai oublié une ligne ... :D
$Rank = 1;
$RankQry = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `tech_points` DESC;", 'statpoints');
$techpoints_old = "";
while ($TheRank = mysql_fetch_assoc($RankQry) )
{
$QryUpdateStats = "UPDATE {{table}} SET ";
if( $TheRank['tech_points'] == $techpoints_old )
{
$QryUpdateStats .= "`tech_rank` = '-' ";
}else{
$QryUpdateStats .= "`tech_rank` = '$Rank' ";
}
$QryUpdateStats .= "WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
doquery ( $QryUpdateStats , 'statpoints');
$techpoints_old = $TheRank['tech_points'];
$Rank++;
}