Script de recherche

[Résolu]
Signaler
Messages postés
106
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 octobre 2007
-
Messages postés
106
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 octobre 2007
-
<!--StartFragment --> Bonjour,
voila je réalise un site pour un club de tennis de table et quand j'entre un joueur avec ses points je voudrai que le classement du joueur vis à vis de ces points se fasse automatiquemen !
donc à la création d'un joueur le script est le suivant ! cela fonctionne sauf la partie avec le classemment via le nombre de points !

<?php
$i=1;
$nb=16;
$trouve=0;
$query = "SELECT numClassement, tranchePoints FROM classement";
$req = mysql_query($query, $connexion) or die(mysql_error());
while ($ligne=mysql_fetch_array($req))
{
$numClt[$i] = $ligne['numClassement'];
$traPts[$i]= $ligne['tranchePoints'];
$i=$i+1;
}
for($i=1;$i<$nb;$i++)
{
while ($trouve==0)
{
if (($pts) < $traPts[$i])
{
$numC=$numClt[$i];
$trouve=1;
}
}
}
?>

ça fonctionne bien pour le i=1 mais pas pour le reste !
j'ai pren les tranches de points dans la base et je fai une comparaison voila si qq1 a une solution merci !

5 réponses

Messages postés
27
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
4 mai 2006

Oups, j'ai oublié :



while ( ($trouve == 0) && ($i < $nb) )
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
je pense qu'il y a quelques chose a ajouter dans la requete du genre ORDER BY ...
-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie
Messages postés
106
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 octobre 2007

non la requete est bonne !
j'ai testé !
les différentes lignes sont bien enregistrées !!
Messages postés
27
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
4 mai 2006

Bonjour,



Tu ne devrais pas imbriquer une boucle for et une boucle while. Le plus simple serait :



$trouve = 0;

$i = 1;

while ($trouve == 0)

{

if (($pts) < $traPts[$i])

{
$numC = $numClt[$i];
$trouve = 1;
}

$i++;

}



J'espère que ça va t'aider,



Kooki
Messages postés
106
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 octobre 2007

impeccable ! merci !