Incrémenter une lettre pour enregistrement dans une bdd
Bonjour,
voici mon problème :
je dois gérer des catégories. Pour cela, j'ai un champ de type text où l'utilisateur entre le nom de la catégorie et appuie ensuite sur enregistrer.
Ce que je voudrais faire, c'est que cette catégorie s'enregistre avec comme clé une lettre, par exemple : A ou B etc ...
De plus, il faut d'abord compter le nombre de catégories déja présentes, pour savoir quelle lettre je dois mettre à la catégorie à enregistrer. Par exemple si 3 catégories sont déja enregistrées dans la base, il faut que celle que l'on vient de taper s'enregistre avec la lettre D.
J'avais fait ça avec des chiffres et c'était facile, mais en fait je dois le faire avec des lettres, donc voici mon code :
Code:
1 2 3 4 5 6 7 8
| // Comptage du nombre de catégories
$nb_cat = mysql_query("SELECT COUNT(*) AS NB FROM (SELECT Libelle FROM categories WHERE Numero LIKE 'L-_' OR Numero LIKE 'L-__') AS TEMP;");
$nb = mysql_fetch_array($nb_cat);
echo $nb['NB']; // Nombre de catégories
$nben = ++$nb['NB'];
echo $nben; // Numéro de la catégorie à ajouter après le A-
// Requête d'insertion
$add_cat = mysql_query('INSERT INTO categories (Numero,Libelle) VALUES ("L-'.$nben.'","'.$_POST["nom_cat_liv"].'")'); |
Et voici ce que j'ai trouvé sur ce forum :
Code:
1 2 3 4 5 6 7 8 9
| <script language="javascript">
lettre='A';
for(i=0 ; i<27 ; i++)
{
document.write(""+lettre+"");
lettre = String.fromCharCode(lettre.charCodeAt(0)+1);
}
</script> |
Ceci m'irait parfaitement sauf que je ne vois pas comment prendre une seule lettre et ne pas toutes les afficher. Il faut que mon "nben" de mon code là haut prenne pour valeur la lettre qui va bien et non un chiffre.
Donc si vous pouvez m'aider ... Merci =)