Bon ben voila, un petit problème de vision des choses ma mené jusqu'a cette partie du forum encore non visité par mes soins.

J'ai une question qui me tarode depuis au moins 21h30 et je n'arrive pas a y repondre, j'aurais besoin d'un eclaircicement de ma situation.

j'ai 3 tables, une formation, une session et une niveau. les tables niveau et session sont en CIF sur formation. j'aimerais savoir comment enregistrer des données dans ma table formation avec les idées des villes correspondantes. j'ai beau rélféchir je ne vois pas du tous comment.

5 réponses


Tu parles de villes mais pas d'une tables villes ?

Defy
Auteur

reprenons depuis le debut parceque je me suis mal exprimé

3 tables :

  • Formation avec clé etrangere idNiveau idSession
  • niveau
  • session

j'ai du mal a visulaser comme insert des données dans ma base sur ces 3 tables

Je travail sur une API REST et je doit, quand je recoit en POST ma requette HTTP , créer une formation avec ces informations la le nom et la relation nivea session.

Mais comment faire? j'ai trop du mal à visualiser cette relation

Salut,
Je comprends pas trop le soucis, 3 requêtes distinctes et au besoin tu peux récupérer l'id de la précédente requête pour la mettre dans les prochaines.
une fois que tu as fait l'enregistrement dans la table formation tu récupères l'id :
$lastFormationId = $dbh->lastInsertId();

et dans tes la requête niveau et session j'imagine que tu as un champs "formation_id" ou tu mettera "$lastFormationId". Idem pour session.

Enfin, j'ai pas bien compris ton soucis, donc j'espère y avoir répondu ^^

Defy
Auteur

Mon soucie est que j'aimerais rentré directement les informations passer dans la création de la formation mais aussi les infos de la sessions et les infos du niveau.

j'ai ma route comme ceci :
mon-addresse-du-server/formations
je veut que quand on tape dessus en post pour la création d'une formation je recupère un Json qui contient le nom de la formation son niveau et la session avec une date de debu et un durée.
Une fois se Json recupéré, je le parse et je voudrais qu'en requette insert je puisse inserer en meme temps les donnée de la session et du niveau dans leur table respective

Salut si j'ai bien compris ton sujet, il te faudrait pour cela faire une jointure entre tes tables.
Tu leurs a mis une clé étrangère à tes tables mais tes tables ne sont pas jointent, en SQL tu dois le préciser ça.
Dans ton code, tu fais des "INSERT INTO" et ensuite pour l'affichage de ta page web et si bien sûr tu veux afficher les infos qui sont éparpillés sur les trois tables, tu dois faire une jointure des 3 tables avec un "INNER JOIN" ou "LEFT JOIN" OU "RIGHT JOIN".
Bref si tu veux en savoir plus, fais une recherche sur ces format de requête tiens voilà un site qui explique bien cela http://www.sql.sh.
PS: si je ne te répond pas aussitôt c'est que je ne suis pas souvent sur le site à cause du taf!!!