8792 sujets

Développement web côté serveur, CMS

Salut,
j'ai un tableau avec plusieurs colonnes et plusieurs lignes, et je cherche à connaître la valeur maximale du tableau avec sa position.

max($array) ne donne que le maximum et non la position.

Comment faire cela en php ?

J'ai la même question mais lors de l'utilisation d'une requete mysql :
j'ai fait mysql_query("SELECT MAX("toto") AS maximum FROM table")
cela donne la valeur maximale du champs "toto", mais pas la position (ou l'id plus exactement) correspondant à cette valeur max !

Si vous pouviez m'aider, svp !
Modifié par telecofr (02 Feb 2007 - 08:54)
Bonjour,

En php : il faut parcourir le tableau avec une ou plusieurs boucles. Avant la boucle, il faut déclarer une variable qui contiendra une valeur maximum temporaire, et une autre pour sauvegarder la position temporaire.
Si, au fil de la boucle, une case de tableau est supérieure à la valeur maximum temporaire, il faut écraser cette valeur temporaire par la case actuelle et enregistrer la position par la même occasion...
Je ne sais pas si c'est très clair comme explication.

En SQL :
La fonction max n'est pas le meilleur moyen, à mon avis.
Je ferais comme ça pour obtenir la plus grande valeur existante pour champ :
select id, champ from table order by champ desc limit 1
Merci QuentinC pour tes réponses.

Pour le php, je pensais qu'il existait une solution plus rapide et moins lourde.
Mais bon, je vais faire comme tu as dit.

Et pour mysql, je n'avais pas pensé à faire comme cela !

Merci Smiley cligne