begin process at 2012 05 31 05:44:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Php Insert ID


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Php Insert ID

dimanche 23 décembre 2007 à 11:49:56 | Php Insert ID

xeroxiss

Bonjour tout le monde

Voilà je me demandais juste un petit truc, et peut être que vous connaissez la réponse...

J'ai deux tables mysql et un formulaire d'inscription pour mes membres.
Je fait deux insert pour des valeurs différentes de mon formulaire.

Par exemple : L'utilisateurs remplis tout les champs, une partie des valeurs s'insert dans une table et une autre partie dans une autre...

Jusque là pas de soucis, maintenant je désirai faire la jonctions (la connexion) entre les deux tables. Pour qu'une fois que le membre
se connect, je puisse, en variable session, récupérer toutes les infos concernant ce membres. 

J'ai bien lu plein de post concernant, mysql_inserid() ou @@INDENTIFY, mais je ne sais pas trop bien l'idée au moment de l'insert.

Voilà, je pense que c'est tout bête !!
Merci beaucoup



Le petit bout de code, on ne sais jamais 

$ajout_table1 = sprintf("INSERT INTO  table1 (nom, prenom, email) VALUES ('$email',  '$nom', '$prenom')");
 
$ajout_table2 = sprintf("INSERT INTO table2 (email, description) VALUES ('$email', '$description')");



dimanche 23 décembre 2007 à 12:06:10 | Re : Php Insert ID

neigedhiver

Salut, Je ne vois pas l'intérêt d'avoir une table séparée pour stocker la description d'un utilisateur. En fait, tu y perds en performances. On stocke normalement dans une seule table les informations concernant un utilisateur. Si tu devais avoir plusieurs fois le même champ pour chaque utilisateur, alors seulement une deuxième table serait justifiée. Là, franchement, tu te compliques la vie pour rien. J'en profite pour te conseiller de mettre un index dans ta table (numérique, plutôt que texte, ce qui exclue l'indexation de la table sur le champ email... pour des raisons de performances. Si chaque utilisateur n'a qu'une seule description (le contraire n'ayant pas réellement de sens commun, à moins que tu n'aies un besoin très spécifique), alors autant tout laisser dans une seule table : multiplier les requêtes multiplie également le temps d'exécution, la charge du processeur, etc.
dimanche 23 décembre 2007 à 12:42:50 | Re : Php Insert ID

malalam

Administrateur CodeS-SourceS
Hello,

certes...mais ça se défend dans le cadre de gros, gros applicatifs.
Enfin...je ne vais pas critiquer la façon de faire parce que je le fais actuellement.  Je te donne juste une solution :
Tu as doit avoir une table "primaire".  Par exemple, at table1.
Puis dans ta/tes table(s) secondaire(j'arrête les S c'est saoûlant, vous aurez compris), tu lies tes entrées à l'ID de ta table primaire :

table users
user_id,
user_nom,
user_prenom
...

table users_coord_num
user_id
uesrnum_email
usernum_website

etc...
user_id est ta clé commune.

donc tu fais ton second INSERT avec le @@IDENTITY (désolé, je bosse plus sur mssql en ce moment) de ta première insertion, dans la table users.
Et quand tu récupères le tout :

SELECT user.user_nom,  user.user_prenom...usernum.usernum_email...
FROM users user
INNER JOIN users_coord_num usernum ON usernum.user_id = user.user_id
WHERE user.user_id = $iUserId

C'est valable pour X tables.

dimanche 23 décembre 2007 à 12:51:33 | Re : Php Insert ID

bizibiz17

Exact malalam à raison c'est dans la conception de la base de données le problème. Rajoute cet id et ça marchera !
dimanche 23 décembre 2007 à 12:58:40 | Re : Php Insert ID

xeroxiss

Salut,

Merci neigedhiver pour ta réponse,

Mais c'est obligé pour moi de faire deux tables, car la deuxième table accueil l'annonce du membre.

Je ne t'es pas mis tout les champs pour ne pas surcharger le post mais normalement au complet ca donne ca.

$add_membre = sprintf("INSERT INTO membres (civilite, email, pass, nom, telephone, gsm, province, cp, compte) VALUES ('$civilite', '$email', '$pass', '$nom', '$telephone', '$gsm','$province', '$cp', '$compte')");

$add_annonce = sprintf("INSERT INTO annonces (email, province, cp, marque, modele, mois, annee, prix, compte, detail_01, detail_02, detail_03, detail_04, detail_05, description) VALUES ('$email', '$province', '$cp', '$marque', '$modele', '$mois', '$annee', '$prix', '$compte', '$detail_01', '$detail_02', '$detail_03', '$detail_04', '$detail_05', '$description')");


Et quand tu me dit de mettre un index... J'ai déja un 'userid' autoincrémente sur la table membre, et un 'annid' sur la table annonce.

Mon problème c'est que j'aimerai affiché l'annonce correspondant au membre. Par exemple a sa connexion.
Et au cas ou le membre rajouterai une annonce, il faudrait que sa deuxième annonce soit liée a son compte.

Merci de ton explication, mais si tu peux m'aider dans cette voie la..

A bientot
dimanche 23 décembre 2007 à 12:58:48 | Re : Php Insert ID

malalam

Administrateur CodeS-SourceS
Malalam a toujours raison, c'est l'admin du site ;-) (je plaisante hein, j'ai parfois tort...des fois...ça arrive quoi...c'est rare mais bon...et puis j'autorise personne à le dire hein, que ce soit clair!!)
dimanche 23 décembre 2007 à 13:07:21 | Re : Php Insert ID

xeroxiss

Merci malalam,

Je suis juste un peu débutant, et ici je séche un peu...

Car je fait mon insert après l'inscription comme j'ai expliqué au desssus.

Mais toi tu as l'air de dire (je remet pas en cause maitre malalam )  qu'il faudrait que je change mes tables.

Pourtant elle contienne déja chacun un id. I'm lost ^^

Voilà pour info mes tables, si vous sauriez m'indiqué les erreurs...

CREATE TABLE `membres` (
  `id_user` bigint(50) unsigned NOT NULL auto_increment,
  `civilite` varchar(50) NOT NULL default '',
  `nom` varchar(50) NOT NULL default '',
  `email` varchar(50) NOT NULL default '',
  `pass` varchar(50) NOT NULL default '',
  `telephone` varchar(50) NOT NULL default '',
  `gsm` varchar(50) NOT NULL default '',
  `province` varchar(50) NOT NULL default '',
  `cp` varchar(50) NOT NULL default '',
  `compte` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id_user`)
)

CREATE TABLE `annonces` (
  `id_ann` bigint(20) NOT NULL auto_increment,
  `email` varchar(150) NOT NULL default '',
  `province` varchar(150) NOT NULL default '',
  `cp` varchar(150) NOT NULL default '',
  `marque` varchar(150) NOT NULL default '',
  `modele` varchar(150) NOT NULL default '',
  `mois` varchar(150) NOT NULL default '',
  `annee` varchar(150) NOT NULL default '',
  `prix` varchar(150) NOT NULL default '',
  `compte` varchar(150) NOT NULL default '',
  `detail_01` varchar(150) NOT NULL default '',
  `detail_02` varchar(150) NOT NULL default '',
  `detail_03` varchar(150) NOT NULL default '',
  `detail_04` varchar(150) NOT NULL default '',
  `detail_05` varchar(150) NOT NULL default '',
  `description` text NOT NULL,
  PRIMARY KEY  (`id_ann`)
)

Voilou voilou
dimanche 23 décembre 2007 à 13:09:33 | Re : Php Insert ID

bizibiz17

"Mon problème c'est que j'aimerai affiché l'annonce correspondant au membre. Par exemple a sa connexion.
Et au cas ou le membre rajouterai une annonce, il faudrait que sa deuxième annonce soit liée a son compte."

Et bien justement c'est en rajoutant l'id dans la seconde table que ça marchera, tu connais par Merise ? ça pourrait t'aider...

Voilà les tables qu'il faudrait :

membres (idmenbre,civilite, email, pass, nom, telephone, gsm, province, cp, compte)
annonces (id_annonce,email, province, cp, marque, modele, mois, annee, prix, compte, detail_01, detail_02, detail_03, detail_04, detail_05, description,idmembre)

Vu qu'une annonce correspond à un seul membre et un membre peut avoir plusieurs annonces cela fonctionnera.

dimanche 23 décembre 2007 à 13:14:17 | Re : Php Insert ID

xeroxiss

Je test ca desuite,

merci beaucoup


Merise ? Non je connais pas honte à moi
J'ai un peu cherché sur google... mais je m'interesserai a cela plus tard car ca a l'air compliqué non ?

Je vous tient au courant. Mais pour l'idmembres que tu ajoute dans annonce je dois alors recréer un champ...

Je test ;)
dimanche 23 décembre 2007 à 13:16:07 | Re : Php Insert ID

bizibiz17

Oui Merise peut parraître un peu compliqué, c'est sûr que si tu as deux tables ça te sert pas à grand chose mais dès que tu as une grosse base de données tu es obligé de t'en servir sinon tu t'en sort pas...

1 2 3

Cette discussion est classée dans : insert, voil, php, email, id


Répondre à ce message

Sujets en rapport avec ce message

formulaire pour e-mail invisible [ par pyranhaz ] Bonjour,Je cherche à élaborer un formulaire php afin que les clients de mes petites annonces puissent envoyer leur réponse sans connaître le e-mail du un code PHP pour Consulter la liste des Emails [ par saif1982 ] J'ai créé  un code PHP pour Consulter la liste des Emails C Problème avec un "if" [ par taxitat ] Bonjour à tous,J'espère avoir posté dans la bonne section (si non, dsl, les modos)Sur mon site, j'ai une page index.php où à l'intérieur je fais un in PHP : une requete de selection(besoin d'aide) [ par info3licen ] Bonjour tout le monde;j'ai fait un formulaire et je travaille avec php le formulaire c'est pour un enseignant il fait entrer son matricule et son suje utilisation de session pour la gestion des acces à une application [ par cyrilherve ] je travail sur une application ou j'ai prevu une page de connexion ou l'on s'identifie avec un indifiant et un mot de passe; ensuite en fonction de so requete ne s'excute pas [ par sws2007 ] bonjour tout le monde j'ai fais  une requette d'update elle ne s'excute pas je vois l'erreur ou aidez moi svpinclude ('connexion.php');$id_agence=intv envoyer mail a plusieurs destinataires [ par michelo34 ] bonjour,tout d'abord merci a toutes les personnes qui contribue à l'alimentation du forum car pour un novice développeur les conseils qui y sont prodi les images d'une requete sql ne s'affichent pas toutes dans mon tableau [ par princesses95 ] Bonjour, Je viens vous demander de l'aide car je ne sais plus quoi faire. J'ai crée une page php qui m'affiche des images que je vais chercher dans ma qui peut corriger mon code php [ par hwm86 ] Posté le 31/03/2009 à 16:46 <a href="http://www.vulgarisation- forum en Php..un coup de main ? [ par hiferman ] Bonjour, je suis entrain de créer un minif-orum php, alors j'ai crée 3 pages :forum.php : qui liste les titres des  discussion récentes.avec un lien n


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales