Select FORMAT
RésoluBonjour,
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
2 réponses
-
Contributeur
bonjour,
peut-être:
SELECT FORMAT(COUNT(ID),'00000') AS nb1 FROM Membres_ADT
-
Modérateur
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'avanceDaniel
-
Contributeur@Danielos
SELECT LPAD(COUNT(ID), 5,'0') AS nb1 FROM Membres_ADT
-
@yg_be
Bonjour yg_be, (j'avais omis la première des politesse sur le post d'avant ...)
C'est super, ça marche nickel.
C'est fou comme un simple morceau de code au mauvais endroit peut devenir une énorme prise de tête...1000 merci et bon WE à toi.
Je mets le sujet en résolu.
Daniel
-