|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
Bonjour à tous,
Donc voici mon soucis: j'ai fais un questionnaire contenant 20 tables qui sont alimentées par 6 formulaires distincts (pour sauvegarder les reponses tous les 3-4 questions). je cherche à lier toutes ces tables entre-elles avec un id grace à une premiere table "user" qui a un ID AUTO (et donc ttes les autres tables ont un champ "user_id") facile de faire un INSERT cet ID AUTO à chaque table d'une meme page avec mysql_insert_id ... ..mais comment faire quand je passe à une autre page (et donc un nouveau formulaire en methode POST) pour inserer cet id aux prochaines tables..et ainsi de suite ??? Merci bcp pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Bonsoir,
Stocker l'id en session , ou le crypter et le passer un variable URL. A+. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
Merci pour ta réponse,
D'accord, donc je peux insérer la variable $_SESSION['user_id'] dans tous les champs 'user_id de ma table? Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Oui, tu peux insérer la valeur de la session dans les champs.
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
Ok, merci, mais je me perds techniquement parlant pour que ma variable "user_id" soit identique sur toutes mes tables..j'ai beau regarder les tutos sur les sessions mais je m'y perds. ..Besoin d'aide, svp.
|
|
|
00
|
|
|
#6 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Ben, montre nous ce que tu as fait et on corrige
|
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
Bon, voici un extrait du code sans les sessions
ici aucune erreur..et avec la fonction mysql_insert_id() je recupere bien les id dans les tables question1 et question2 mais sur les pages suivantes.;je sais pas faire ?!. Je souhaite donc INSERER user_id de la table enquete_user dans les autres tables qui sont construites pareilles(id, champ1, champ2, user_id) En tout cas, vraiment merci si vous pouvez m'aider, 2 jours que je cherche. Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Pour utiliser la variable de session, il faut d'abord avoir la ligne:
Quelque part en haut de ta page. C'est ce qui rend la variable $_SESSION accessible au niveau PHP. Ensuite, tu peux créer effectivement la variable $_SESSION['user_id'] et y stocker la valeur que tu veux. Maintenant, il est TRÈS IMPORTANT et je dis bien IMPORTANT... ais-je mentionné que c'est IMPORTANT lol... la fameuse ligne: Doit être répétée sur CHAQUE page où tu veux accéder à la variable $_SESSION. Elle doit également être située vraiment en haut (genre au début du <head> ou de tout autre traitement que tu fais) sinon tu risques d'avoir des erreurs bizarres. Donc j'espère que ça peut t'aider à résoudre ton problème Osu |
|
|
00
|
|
|
#9 | ||||||
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Je dois avouer avoir un peu de difficulté à comprendre ce que tu cherches à faire, mais quand tu fais ça:
Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
Merci..c'est bien ça..sauf que la premiere requete INSERT ('$sql3') sur la page2 me remonte des ids qui ne correspondent pas aux ids de enquete_user ...je pense que c'est normal puisque la table de reference enquete_user n'est pas appelée ?,!!
j'ai essayé de faire un SELECT juste avant pour bien récupérer l' ID de session mais cela ne fonctionne pas(aucunes erreurs mais rien ds la table 'question3') En tout cas merci, la piste des sessions es la bonne..vraiment super ! page 2.php Code :
|
||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
PS : en bref j'essaye de faire exactement comme on peut le faire avec un moteur INNODB : des clés étrangères qui pointent vers une clé primaire.
|
|
|
00
|
|
|
#12 | ||||||||||
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Rebonjour
Premièrement, le fait de stocker une valeur dans la variable $_SESSION la rend accessible sans faire de requête select (d'où son utilité). Ensuite, quand tu fais Code :
Code :
Également, si tu espère plusieurs résultats dans ton SELECT, tu devrais faire une boucle pour passer à travers chacun: Code :
Il est également très important de comprendre que la variable de session CONSERVE sa valeur, même si tu changes de page. Donc, même si tu avances dans ton formulaire, l'ID devrait demeurer dans la variable. Aussi, je crois que la raison pourquoi ta variable $_SESSION['user_id'] ne contient pas les bonnes valeurs est que tu affectes plusieurs fois une valeur à cette variable (regarde les commentaires que j'ai rajouté à ton code): Code :
Code :
Donc voilà, j'espère que ça va pouvoir te débloquer, bonne chance |
||||||||||
|
|
00
|
|
|
#13 |
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Petite erreur de ma part, dans la toute dernière ligne de code que je t'ai donné,
Devrait être Code :
$_SESSION['user_id'] = mysql_insert_id(); |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 33 ![]() |
Bonjour osuwariboy,
Je réponds un peu tard pour te dire un grand merci..ta solution est hyper simple et fonctionne parfaitement.(merci aussi à tous les autres qui m'onrépondu ..quand même )Bonne journée et encore merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com