par
Ajoloca » 08 nov. 2006, 20:25
Bonjour,
Si j'ai bien compris, tu voudrais que ce qui sort de ta base corresponde à un format qui est celui du nom de tes fichiers et ta colonne de référence est du type 'AUTO_INCREMENT'.
Une petite astuce consiste à utiliser les fonctions MySQL 'LPAD() ou RPAD()' qui te permet de compléter une valeur (numérique ou chaine) avec un caractère jusqu'à la logngueur voulue (elle retourne une chaine).
LPAD() remplie en ajoutant le caractère à gauche de la valeur
RPAD() idem, mais en remplissant à droite.
un exemple:
Code : Tout sélectionner
SELECT LPAD(1, 4, '0') nom_fichier;
+-------------+
| nom_fichier |
+-------------+
| 0001 |
+-------------+
1 row in set (0.00 sec)
Dans ton cas tu remplaces le '1' par le nom de ton champ(sans le apostrophes) et tu adaptes les autres paramètes avec la syntaxe
ATTENTION Si la longueur de la valeur du champ est supérieure elle sera tronquée al la longueur spécifiée en second paramètre
Code : Tout sélectionner
mysql> SELECT LPAD('Chaine plus longue', 4, '0') tronquee;
+----------+
| tronquee |
+----------+
| Chai |
+----------+
1 row in set (0.00 sec)
EDIT:
Et si dans une autre colonne tu as l'extension de ton fichier
Code : Tout sélectionner
mysql> SELECT CONCAT(LPAD(1, 4, '0'),'.jpg') nom_fichier;
+-------------+
| nom_fichier |
+-------------+
| 0001.jpg |
+-------------+
1 row in set (0.00 sec)
en remplaçant '.jpg' par le nom du champ (sans le apostrophes)
Bonjour,
Si j'ai bien compris, tu voudrais que ce qui sort de ta base corresponde à un format qui est celui du nom de tes fichiers et ta colonne de référence est du type 'AUTO_INCREMENT'.
Une petite astuce consiste à utiliser les fonctions MySQL 'LPAD() ou RPAD()' qui te permet de compléter une valeur (numérique ou chaine) avec un caractère jusqu'à la logngueur voulue (elle retourne une chaine).
LPAD() remplie en ajoutant le caractère à gauche de la valeur
RPAD() idem, mais en remplissant à droite.
un exemple:
[code]SELECT LPAD(1, 4, '0') nom_fichier;
+-------------+
| nom_fichier |
+-------------+
| 0001 |
+-------------+
1 row in set (0.00 sec)[/code]
Dans ton cas tu remplaces le '1' par le nom de ton champ(sans le apostrophes) et tu adaptes les autres paramètes avec la syntaxe
[code]LPAD(nom_champ, longueur_totale, 'car_complete')[/code]
[b]ATTENTION[/b] Si la longueur de la valeur du champ est supérieure elle sera tronquée al la longueur spécifiée en second paramètre
[code]mysql> SELECT LPAD('Chaine plus longue', 4, '0') tronquee;
+----------+
| tronquee |
+----------+
| Chai |
+----------+
1 row in set (0.00 sec)[/code]
EDIT:
Et si dans une autre colonne tu as l'extension de ton fichier [code]mysql> SELECT CONCAT(LPAD(1, 4, '0'),'.jpg') nom_fichier;
+-------------+
| nom_fichier |
+-------------+
| 0001.jpg |
+-------------+
1 row in set (0.00 sec)[/code]
en remplaçant '.jpg' par le nom du champ (sans le apostrophes)