Page 1 sur 1

Problème avec la fonction MAX

Posté : 18 mars 2010, 19:41
par mars77
Bonjour à tous,

J'aimerai trouver le chiffre le plus grand dans ma base de donnée dans la colonne numrero.

j'ai créé le code suivant:
$select ='SELECT MAX(numero) AS numero FROM membres'; 
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_array($result);
echo $row['numero'];
Le problème c'est qu'il affiche le chiffre 99 mais c'est pas le plus grand . Le plus grand dans ma base c'est 112.

Qui peu me dire ce qui ne vas pas .

merci pour votre aide

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 20:20
par Dr@ke
numero est un alias si utilisé avec AS, donc faut utiliser un alias et non le nom du champ.
L'entourer de guillemets ou d'apostrophes.

Donc logiquement:
$select ='SELECT MAX(numero) AS "max" FROM membres';
$result = mysql_query($select,$link) or die('Erreur : '.mysql_error());
$row = mysql_fetch_assoc($result);
echo $row['max'];
Sinon sans alias:
$select ='SELECT MAX(numero) FROM membres';
$result = mysql_query($select,$link) or die('Erreur : '.mysql_error());
$row = mysql_fetch_row($result);
echo $row[0];

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 20:33
par stealth35
non puisque qu'il n'y a qu'une valeur y'a pas de conflit

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:05
par Dr@ke
Je trouve cela tout de même plus clair :langue:

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:07
par stealth35
Je trouve cela tout de même plus clair :langue:
ouai c'est sur c'est a eviter, par contre l'utilisation de de nom de fonction ou de mot magique est aussi deconseiller (max etant une fonction)
le plus claire étant :
SELECT MAX(numero) max_numero FROM membres

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:14
par Dr@ke
Bon allé go, arrêtons de chipoter, go pour "max_numero" alors :wink:

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:15
par stealth35
ouai,
sinon de quelle type est la colonne ?

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:16
par mars77
merci pour ton aide.

Malheureusement j'ai utilisé le code suivant :
$select ='SELECT MAX(numero) AS max_numero FROM membres';
$result = mysql_query($select,$link) or die('Erreur : '.mysql_error());
$row = mysql_fetch_assoc($result);
echo $row['max_numero'];
Et c'est toujours la même chose.

il affiche 99 au lieu de 112.

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:26
par Dr@ke
Essaye avec mysql_result().
http://php.net/manual/fr/function.mysql-result.php

De toute façon c'est bien mieux de l'utiliser quand la requête doit retourner qu'un seul champ d'un résultat...

Puis l'alias c'est mieux aussi de le mettre en guillemets ou apostrophes

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:43
par mars77
j'ai essayé c'est pareil.

c'est un truc de fou . pourquoi jusqu' 99 il arrive et au moment de passer la centaine il bloque. bizzard.

merci a celui qui pourra m'éclairer

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 21:44
par stealth35
et le type de ta colonne c'est quoi ?

Re: Problème avec la fonction MAX

Posté : 18 mars 2010, 22:09
par mars77
merci pour ton aide.

Effectivement le type de ma colonne était en faut et c'est pour ça qu'il y avait un problème.

Merci encore