Problème ajout de chiffre dans une base de donnée

Invité
Invité n'ayant pas de compte PHPfrance

27 juil. 2006, 17:21

Bonjour,

Mon problème est que j'essaie d'ajouter le nom d'images dans ma table "images", et mes images s'appellent blabla_00001.jpg, blabla_00002.jpg.

J'ajoute les images manuellement sur le ftp (je sais que c'est possible en php, mais je préfére comme ça) et ensuite, avec une page, je choisis les numéros que je viens d'ajouter sur le ftp (par exemple je viens d'ajouter les images 00007 à 000011, donc je met ceci dans les champs du formulaire), mais au lieu de me stocker 00007,00008, etc. , il me stock 7, 8, etc... sans les 4 zéro avant !

J'espère que vous avez compris mon problème et surtout que vous avez une solution pour moi :lol:

Si vous n'avez pas compris demandez-moi...

Merci d'avance :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2006, 18:04

Soit tu passes ta colonne en type texte (varchar, tinytext...), soit tu modifies la configuration de ta table en ajustant la taille de ta colonne (ex : int(6) ) et en mettant l'attribut "ZEROFILL"

Si ce nombre n'est qu'un nom finalement, je le passerais personnellement dans un type texte, comme ça tu ne seras pas embêté et comme il n'y a pas de calculs ce n'est pas grave.

Invité
Invité n'ayant pas de compte PHPfrance

27 juil. 2006, 18:25

non en fait ça doit etre un chiffre car je l'utilise comme compteur dans ma boucle PHP... merci beaucoup j'essayerai ça demain :D

Invité
Invité n'ayant pas de compte PHPfrance

28 juil. 2006, 09:45

je n'arrive pas à mettre ZEROFILL, il me met une erreur... :cry:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juil. 2006, 10:22

je n'arrive pas à mettre ZEROFILL, il me met une erreur... :cry:
D'accord, on est bien avancé avec ça...

C'est quoi l'erreur ? Sur quel type de donnée ?

Invité
Invité n'ayant pas de compte PHPfrance

28 juil. 2006, 10:31

eh bien l'erreur c'est juste mis:

"check the manual that corresponds to your MySQL server version for the right syntax to use near 'ZEROFILL...."

j'essaie de faire ça sur un INT, comme tu me l'a dit...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juil. 2006, 10:36

A mon avis il y a un bout du message d'erreur qui manque

Fais nous voir la structure de table comme elle est actuellement

Voici ce que j'ai moi par exemple :

Code : Tout sélectionner

CREATE TABLE `entiers` ( `id` tinyint(4) unsigned zerofill NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Sinon, juste pour savoir, tu es allé voir dans le manuel comme il te demande ? :)

Invité
Invité n'ayant pas de compte PHPfrance

28 juil. 2006, 10:40

Ok alors en fait il fallait mettre unsigned avec, je ne savais pas... je vais essayer de voir si ça fonctionne et je te tient au courant !

Merci beaucoup pour ton aide :wink:

Invité
Invité n'ayant pas de compte PHPfrance

28 juil. 2006, 10:43

ça marche du tonner c'est génial merci beaucoup :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juil. 2006, 10:56

Bizarre, dans phpMyAdmin c'est lié et dans le manuel il est écrit ça :
Si vous spécifiez l'option ZEROFILL pour une valeur numérique, MySQL va automatiquement ajouter l'attribut UNSIGNED à la colonne.
C'est peut-être que pour MySQL 5...