[RESOLU] Trouver le plus petit nombre

Eléphanteau du PHP | 16 Messages

21 juil. 2021, 09:16

Bonjour,
j'ai un code qui cherche le plus petit nombre dans la colonne moyenne.Quand dans mysql, je mets la colonne en "double", cela marche.Mais quand je mets la colonne en " text" , mon code ne marche plus.Or pour certaines raisons et des actions particulières, il faut que ma colonne soit en "text". J'ai besoin d'un code php pour faire ressortir le plus petit nombre.Sinon mon code me dit que 13.06 est plus petit que 8.56.voici mon code:

Code : Tout sélectionner

$sql1 = "SELECT MIN(moyenne)as moyenneP FROM rangec where classe = '".$_SESSION['classroom']."' AND position = '".$_SESSION['anscol']."' AND ecoles= '".$_SESSION['ecoles']."' AND trimestre= '".$_SESSION['trimestre']."' "; foreach ($bdd->query($sql1) as $classement) { $moyenneP =$classement['moyenneP']; $moyenneP=''.round($moyenneP, 2).''; }
.je crois avoir été explicite! merci d'avance pour votre assistance.

ynx
Eléphant du PHP | 323 Messages

21 juil. 2021, 11:27

Bonjour,

Etrange de devoir enregistrer des notes au format texte, il ne serait pas plus judicieux de les enregistrer en bdd au format float ou double puis de les convertir en texte lors de ces fameuses "actions particulières" ?

Sinon tu peux éventuellement convertir le champ en nombre dans ta requête SQL :
SELECT MIN(CONVERT(moyenne, DECIMAL(4,2))) as moyenneP FROM rangec

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9039 Messages

21 juil. 2021, 12:58

+1 pour éviter de stocker des nombres dans un champ texte dans MySQL ça va reporter de la complexité dans ton code, ce n'est pas une bonne pratique si tu peux l'éviter.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 16 Messages

21 juil. 2021, 17:33

merci pour vos conseils, J'ai revu un peu mon code et j'ai simplement mis la colonne moyenne valeur par défaut null.et ela a reglé mon problème.