Insérer des infos dans ma base de données via un formulaire
Fermé
dinolam81
Messages postés
9
Date d'inscription
lundi 30 décembre 2013
Statut
Membre
Dernière intervention
20 septembre 2016
-
30 déc. 2013 à 18:12
dinolam81 Messages postés 9 Date d'inscription lundi 30 décembre 2013 Statut Membre Dernière intervention 20 septembre 2016 - 31 déc. 2013 à 12:40
dinolam81 Messages postés 9 Date d'inscription lundi 30 décembre 2013 Statut Membre Dernière intervention 20 septembre 2016 - 31 déc. 2013 à 12:40
A voir également:
- Insérer des infos dans ma base de données via un formulaire
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Formulaire de réclamation facebook - Guide
- Insérer un filigrane word - Guide
7 réponses
Utilisateur anonyme
30 déc. 2013 à 22:29
30 déc. 2013 à 22:29
Bonjour
ON u.type_users_id = 'tu.type_users_id'
Quand tu écris ceci, avec des apostrophes autour de 'tu.type_users_id', ta condition de jointure n'est pas que les champs type_users_id des deux tables soient égaux. C'est que le champ u.type_users_id contienne le texte 'tu.type_users_id', car entre mis entre des apostrophes, ce n'est plus un nom de champ mais un texte. Tu comprends la différence ? Il aurait fallu écrire ON u.type_users_id = tu.type_users_id sans apostrophes.
Je ne comprends pas ta deuxième requête. Ce que tu insères dans le champ users_name de ta table users, ce n'est pas un nom mais le résultat d'une sous-requête "SELECT COUNT(*) etc" donc un nombre. Je doute que ce soit que tu voulais faire.
ON u.type_users_id = 'tu.type_users_id'
Quand tu écris ceci, avec des apostrophes autour de 'tu.type_users_id', ta condition de jointure n'est pas que les champs type_users_id des deux tables soient égaux. C'est que le champ u.type_users_id contienne le texte 'tu.type_users_id', car entre mis entre des apostrophes, ce n'est plus un nom de champ mais un texte. Tu comprends la différence ? Il aurait fallu écrire ON u.type_users_id = tu.type_users_id sans apostrophes.
Je ne comprends pas ta deuxième requête. Ce que tu insères dans le champ users_name de ta table users, ce n'est pas un nom mais le résultat d'une sous-requête "SELECT COUNT(*) etc" donc un nombre. Je doute que ce soit que tu voulais faire.
dinolam81
Messages postés
9
Date d'inscription
lundi 30 décembre 2013
Statut
Membre
Dernière intervention
20 septembre 2016
30 déc. 2013 à 23:58
30 déc. 2013 à 23:58
Merci le père de m'avoir répondu!
En faite dans la 2ème requêtes je voulais juste insérer le nom d'utilisateur dans la base de données. J'ai pris juste l'exemple du users_name mais il concerne aussi les autres champs de la table users.
En faite dans la 2ème requêtes je voulais juste insérer le nom d'utilisateur dans la base de données. J'ai pris juste l'exemple du users_name mais il concerne aussi les autres champs de la table users.
dinolam81
Messages postés
9
Date d'inscription
lundi 30 décembre 2013
Statut
Membre
Dernière intervention
20 septembre 2016
31 déc. 2013 à 00:03
31 déc. 2013 à 00:03
J'aurai besoin d'éclaircissement sur l'insertion des infos ds la BD en utilisant les jointures comme je l'ai fait, qu'il s'agit de l'insertion d'un champ ou de plusieurs.
Merci de votre compréhension.
Merci de votre compréhension.
Utilisateur anonyme
31 déc. 2013 à 07:10
31 déc. 2013 à 07:10
Si tu veux insérer une info dans une base de données, tu n'as pas besoin de jointure.
Par exemple :
Explique-moi à quoi te servirait une jointure ici.
Par contre, cette requête est probablement incomplète : il te manque sûrement d'autres champs.
Et fais bien attention au sens des mots : quand on parle d'insertion dans une base de données, on parle de créer une nouvelle ligne. Tous les champs de la ligne sont créés en même temps, il est plus prudent de leur donner des valeurs à tous (sauf éventuellement un champ auto-incrémenté). Je ne vois pas ce qu'une jointure vient faire là-dedans.
Si tu veux absolument insérer les champs les uns après les autres, seul le premier serait une insertion (INSERT sql) : les autres seraient des mises à jour (UPDATE).
Par exemple :
INSERT INTO users (users_name) VALUES ($pseudo)
Explique-moi à quoi te servirait une jointure ici.
Par contre, cette requête est probablement incomplète : il te manque sûrement d'autres champs.
Et fais bien attention au sens des mots : quand on parle d'insertion dans une base de données, on parle de créer une nouvelle ligne. Tous les champs de la ligne sont créés en même temps, il est plus prudent de leur donner des valeurs à tous (sauf éventuellement un champ auto-incrémenté). Je ne vois pas ce qu'une jointure vient faire là-dedans.
INSERT INTO users (users_name,login, age) VALUES ('$pseudo','$login', 2013-$naissance)
Si tu veux absolument insérer les champs les uns après les autres, seul le premier serait une insertion (INSERT sql) : les autres seraient des mises à jour (UPDATE).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dinolam81
Messages postés
9
Date d'inscription
lundi 30 décembre 2013
Statut
Membre
Dernière intervention
20 septembre 2016
31 déc. 2013 à 12:28
31 déc. 2013 à 12:28
Bonjour le père,
J'ai 2 tables ds ma base de données: users et type_users.
Elles sont liées par un champ(clé étrangère): fk_type_users_id ds la table users.
J'ai 2 types d'utilisateurs(par exple: des artistes et des mélomanes).
Si un membre s'inscrit, il est identifié ds la table type_users pour qu'on sache que c'est un artiste ou un mélomane. Et ses infos sont enregistrées ds la table users liées par la clé étrangère: fk_type_users_id.
C'est ce que j'essaye de faire.
Voilà le code de mes tables:
Structure de la table 'type_users':
CREATE TABLE IF NOT EXISTS 'type_users' (
'type_users_id' int(11) NOT NULL AUTO_INCREMENT,
'type_users_name' varchar(255) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY ('type_users_id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=5 ;
Structure de la table 'users':
CREATE TABLE IF NOT EXISTS 'users' (
'users_id' int(11) NOT NULL AUTO_INCREMENT,
'users_password' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_name' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_prenom' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_email' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_description' text COLLATE utf8_bin,
'type_users_id' int(11) DEFAULT NULL,
'ville_id' int(11) DEFAULT NULL,
'civilite_id' int(11) DEFAULT NULL,
PRIMARY KEY ('users_id'),
KEY 'fk_users_type_users_idx' ('type_users_id'),
KEY 'fk_users_ville1_idx' ('ville_id'),
KEY 'fk_users_civilite1_idx' ('civilite_id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;
Je voudrais savoir comment insérer des infos ds la BD via un formulaire en utilisant MVC quand on a deux types d'utilisateurs(artistes et mélomanes) pour pouvoir les distinguer.
Merci!
J'ai 2 tables ds ma base de données: users et type_users.
Elles sont liées par un champ(clé étrangère): fk_type_users_id ds la table users.
J'ai 2 types d'utilisateurs(par exple: des artistes et des mélomanes).
Si un membre s'inscrit, il est identifié ds la table type_users pour qu'on sache que c'est un artiste ou un mélomane. Et ses infos sont enregistrées ds la table users liées par la clé étrangère: fk_type_users_id.
C'est ce que j'essaye de faire.
Voilà le code de mes tables:
Structure de la table 'type_users':
CREATE TABLE IF NOT EXISTS 'type_users' (
'type_users_id' int(11) NOT NULL AUTO_INCREMENT,
'type_users_name' varchar(255) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY ('type_users_id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=5 ;
Structure de la table 'users':
CREATE TABLE IF NOT EXISTS 'users' (
'users_id' int(11) NOT NULL AUTO_INCREMENT,
'users_password' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_name' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_prenom' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_email' varchar(255) COLLATE utf8_bin DEFAULT NULL,
'users_description' text COLLATE utf8_bin,
'type_users_id' int(11) DEFAULT NULL,
'ville_id' int(11) DEFAULT NULL,
'civilite_id' int(11) DEFAULT NULL,
PRIMARY KEY ('users_id'),
KEY 'fk_users_type_users_idx' ('type_users_id'),
KEY 'fk_users_ville1_idx' ('ville_id'),
KEY 'fk_users_civilite1_idx' ('civilite_id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;
Je voudrais savoir comment insérer des infos ds la BD via un formulaire en utilisant MVC quand on a deux types d'utilisateurs(artistes et mélomanes) pour pouvoir les distinguer.
Merci!
dinolam81
Messages postés
9
Date d'inscription
lundi 30 décembre 2013
Statut
Membre
Dernière intervention
20 septembre 2016
31 déc. 2013 à 12:40
31 déc. 2013 à 12:40
J'ai un formulaire avec les champs: pseudo:mot de passe, mot de passe confirm, email. Je veux qu'à travers ce formulaire les artistes et les mélomanes puissent s'inscrire et les enregistrer en base de données.
Ma question: comment faire la requête d'insertion?
Merci!
Ma question: comment faire la requête d'insertion?
Merci!