Select FORMAT
RésoluDanielos -
Bonjour,
Je souhaiterai formater le résultat d'une requête COUNT de façon à obtenir un nombre sur 5 digits.
Le code sans la partie SELECT FORMAT fonctionne.
Peut-être n'utilise-je pas la bonne façon de faire ...
Voici mon code :
<?php //activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); // echo 'Test <br>'; // echo date("Y"); //on inclut le fichier de connexion à la bdd require_once "../secure/cnxBddADT.php"; $sql1 = "SELECT FORMAT(SELECT COUNT(ID) AS nb1 FROM Membres_ADT, '00000')"; $result1 = $bdd->query($sql1); $columns1 = $result1->fetch(); $nb1 = $columns1['nb1']; // echo 'Il y a '.$nb1.' enregistrement(s).<br>'; $NumMembre=date("Y").$nb1; // echo $NumMembre.'<br>'; ?>
Merci pour toute aide.
Daniel
Windows / Firefox 102.0
- Select FORMAT
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format bin - Guide
2 réponses
bonjour,
peut-être:
SELECT FORMAT(COUNT(ID),'00000') AS nb1 FROM Membres_ADT
Bonjour
La fonction format ne sert pas à ça...
The FORMAT() function formats a number to a format like "#,###,###.##", rounded to a specified number of decimal places, then it returns the result as a string.
Toi, c'est la fonction LPAD que tu dois utiliser.
Bonjour Jordane45,
Je ne connaissais pas LPAD. Mes recherche m'avait seulement amener à FORMAT.
C'est vrai que la majorité des exemples était pour spécifier les décimales, mais il y avait aussi un exemple avec non pas '00000' mais D5 qui donnait le résultat souhaité.
Avec LPAD et le code suivant :
<?php //activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); echo 'Test <br>'; echo date("Y"); //on inclut le fichier de connexion à la bdd require_once "../secure/cnxBddADT.php"; $sql1 = "SELECT LPAD('COUNT(ID) AS nb1 FROM Membres_ADT', 5,'0')"; $result1 = $bdd->query($sql1); $row1 = $result1->fetch(); $nb1 = $row1['nb1']; echo 'Il y a '.$nb1.' enregistrement(s).<br>'; $NumMembre= date("Y").$nb1; echo $NumMembre.'<br>'; ?>
J'ai l'erreur :
Notice: Undefined index: nb1 in /..../Adhesion.php on line 18 (94 chez moi).
Je ne vois pas ce qu'est cette histoire d'index qui manque.
Si tu peux m'aiguiller...
Merci d'avance
Daniel
Ta variable $columns1 devrait plutôt s'appeller $row1: il s'agit de ligne, pas de colonne.
SELECT FORMAT(COUNT(ID),'00000') AS nb1 FROM Membres_ADT
ne donne pas d'erreur mais ne donne pas le résultat escompté. nb1 à la valeur de 1 et pas de 00001 ;-(
Pour la variable c'est vrai que ce serait plus logique même si cela n'affecte pas le fonctionnement. Je vais corriger.
Merci yg_be