MYSQL ajout automatique de champs dans ma table

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


webac
WRInaute impliqué
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

MYSQL ajout automatique de champs dans ma table

Message le Dim Déc 02, 2007 14:55

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.


dmathieu
Modérateur
Modérateur
 
Messages: 6912
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Déc 02, 2007 15:43

Code: Tout sélectionner
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
WRInaute occasionnel
 
Messages: 175
Inscription: Mer Nov 28, 2007 12:41

Message le Dim Déc 02, 2007 16:11

kazhar a écrit:
Code: Tout sélectionner
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é
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

Message le Dim Déc 02, 2007 16:21

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
WRInaute occasionnel
 
Messages: 175
Inscription: Mer Nov 28, 2007 12:41

Message le Dim Déc 02, 2007 16:55

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
WRInaute accro
 
Messages: 3311
Inscription: Mar Nov 16, 2004 18:27

Message le Dim Déc 02, 2007 21:36

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
WRInaute accro
 
Messages: 5295
Inscription: Lun Juin 13, 2005 14:13

Message le Lun Déc 03, 2007 9:58

..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é
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

Message le Lun Déc 03, 2007 21:58

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
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Mar Déc 04, 2007 1:37

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 accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Re: MYSQL ajout automatique de champs dans ma table

Message le Mar Déc 04, 2007 1:54

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.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité