|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 305 Localisation: Ile de France
|
Posté le : Dim Déc 02, 2007 15:55 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
Bonjour,
j'ai un formulaire sur lequel l'utilisateur peut ajouter des champs de texte a sa guise le nom du champs de texte reste le même et s'incrémente de 1 à chaque ajout.
jusque la tout va bien.
Mon problème se pose lors de la récupération des données je souhaite insérer les données dans ma table et créer automatiquement les champs inexistants de la table.
Exemple : l'utilisateur saisis ses données champs1, champs2, champs3
et dans ma table je n'ai que le champs champs1.
Comment faire pour ajouter champs2, champs3 automatiquement dans ma table?
Merci pour votre aide et vos précieux conseils. |
|
| |
|
 |
kazhar WRInaute accro

Inscrit le: 09 Jan 2004 Messages: 6063 Localisation: Somewhere only I know
|
Posté le : Dim Déc 02, 2007 16:43 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
| Code: |
| ALTER TABLE `taTable` ADD `tonChamp` VARCHAR (255) NOT NULL ; |
Note que j'ai mis VARCHAR par défaut. Mais je te conseille de proposer de changer ce type. |
|
| |
|
 |
holmat WRInaute occasionnel

Inscrit le: 28 Nov 2007 Messages: 175
|
Posté le : Dim Déc 02, 2007 17:11 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
| kazhar a écrit: |
| Code: |
| ALTER TABLE `taTable` ADD `tonChamp` VARCHAR (255) NOT NULL ; |
Note que j'ai mis VARCHAR par défaut. Mais je te conseille de proposer de changer ce type. |
ou alors tu crées une table avec le nb max de champs possible
et en clé primaire ya bien sur l'id de l'utilisateur |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 305 Localisation: Ile de France
|
Posté le : Dim Déc 02, 2007 17:21 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
| ok pour le alter table add que je connaissais, mais ce que je cherche a faire c'est créer des champs automatiquement dans ma table en fonction du nombre de champs utilisés par l'utilisateur lors dela saisie de son formulaire. |
|
| |
|
 |
holmat WRInaute occasionnel

Inscrit le: 28 Nov 2007 Messages: 175
|
Posté le : Dim Déc 02, 2007 17:55 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
| webac a écrit: |
| ok pour le alter table add que je connaissais, mais ce que je cherche a faire c'est créer des champs automatiquement dans ma table en fonction du nombre de champs utilisés par l'utilisateur lors dela saisie de son formulaire. |
mais pourquoi vouloir créer des tables spécifiques en fonction des utilisateurs ? |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2905 Localisation: Bangalore +3h30
|
Posté le : Dim Déc 02, 2007 22:36 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
idem, j'vois pas l'utilité alors qui est si simple de passer par un tableau php et n'utiliser qu'un seul champ mysql.
Cela ira bien plus vite en temp machine et t'evitera l'aspirine! |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 3663 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Lun Déc 03, 2007 10:58 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
..Et de devoir faire gaffe si tu as des requetes antérieures d'insertion de champs dans ces nouvelles tables ... moi non plus je ne vois pas l'utilité.
Si tu veux pouvoir enregistrer des éléments dont le nombre diffère selon l'utilisateur, Vaut mieux jouer avec une deuxième table.
Première table user
id_user| nom | prenom | etc...
1 |Duran| Pierre | ...
2 | Dupond | Etienne | ...
Deuxième table champ
id_champ | champ | valeur | id_user
1 | couleur| verte | 1
2 | prix | pas cher| 1
3 | volant | moumoute | 1
4 | couleur | bleue | 2
5 | volant | cuir | 2 |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 305 Localisation: Ile de France
|
Posté le : Lun Déc 03, 2007 22:58 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
Je sais que je réponds un peu tard mais j'éspere que vous m'apporterez un peu plus de détails car j'avoue que je ne saisis pas trop.
Voici la structure de mes tables
table1
`societe` varchar(255) NOT NULL default '',
`personne` varchar(255) NOT NULL default '',
`tel` varchar(255) NOT NULL default '',
`fax` varchar(255) NOT NULL default '',
`adresse` varchar(255) NOT NULL default '',
`cp` varchar(255) NOT NULL default '',
`ville` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`login` varchar(255) NOT NULL default '',
`mdp` varchar(255) NOT NULL default '',
`obs` varchar(255) NOT NULL default '',
`statut` varchar(255) NOT NULL default 'inactif'
table2
`rma` varchar(255) NOT NULL default '',
`fournisseur` varchar(255) NOT NULL default '',
`marque` varchar(255) NOT NULL default '',
`ref` varchar(255) NOT NULL default '',
`facture` varchar(255) NOT NULL default '',
`serie` varchar(255) NOT NULL default '',
`typepanne` varchar(255) NOT NULL default '',
`statut` varchar(255) NOT NULL default 'Non recu',
`login` varchar(255) NOT NULL default '',
Les champs que je cherche à ajouter automatiquement sont fournisseur2, marque2, ref2, serie2, typepanne2 et ainsi de suite fournisseur3...
Comment faire pour connaître les champs qui ont été ajoutés par l'utilisateur et les ajouter à ma table?
merci encore pour votre aide |
|
| |
|
 |
rog WRInaute accro

Inscrit le: 21 Sep 2006 Messages: 1662 Localisation: sapucaia do sul (RS)
|
Posté le : Mar Déc 04, 2007 2:37 Sujet du message: MYSQL ajout automatique de champs dans ma table |
|
|
je vais attirer ton attention sur certains points choquants concernant ta demande puisque personne le l'a encore fait
une base de donnée contient des tables dans lesquelles on va insérer des données et d'où l'on va tirer des extraits
il n'a jamais été question de pouvoir les altérer en cour de route
un lock table qui foire et t'as plus de table
l'optimisation de secu tend à diminuer au maximum les privileges du mysql user qui va effectuer les requêtes, hors dans ton shema le user est a pratiquement plein pouvoir sur les tables
je pense que la relation entre tes tables est mal conçue et à ta place je refléchirai à une methode différente style merise
rog |
|
| |
|
 |
zeb WRInaute passionné

Inscrit le: 05 Déc 2004 Messages: 909
|
Posté le : Mar Déc 04, 2007 2:54 Sujet du message: Re: MYSQL ajout automatique de champs dans ma table |
|
|
| webac a écrit: |
| Mon problème se pose lors de la récupération des données je souhaite insérer les données dans ma table et créer automatiquement les champs inexistants de la table. |
= marque d'un problème de conception ...
repense ton modèle tu ne devrais jamais te trouver dans un tel scénario, c'est contraire a la philosophie d'un SGBD. |
|
| |
|
 |
| |
|
|