enregistrement en base

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : enregistrement en base

par renatane » 27 mai 2005, 12:21

et bien, grace a tes massages, je croi etre arrivée a ma solution.

si ma page de redaction de note est appelée du'une autre page (c'est a dire pour modifier)
je récupère l'id_note et l'id_version de la note ouverte.*
je crée une variable varV qui recuperera le (max des id_versions dont l'id_note correspond a celui récupéré) +1
je crée une variable varN qui recevra l'id_note récupéré.

sinon, (si c une nouvelle note) si la page est ouverte vierge,
je crée une variable varV qui recevra 1
je crée une variable varN qui recevra le max des id_notes de toute la table +1

et qd j''enverrai mon formulaire pour l'envoye en base via enregistrer.php, je transmettrait varN et varV.

bon, now, y'a plus qu'a!

merci

par pascaltje » 27 mai 2005, 12:08

c'est une nouvelle version si on a ouvert une note en modification;
c'est une nouvelle note si on passe par "créer une nouvelle note"

pour enregistrer, il faudrait détailler un peu plus le modèle car je suis perdu!

A+

Pascal

par renatane » 27 mai 2005, 12:04

tu a bien compris,

j'avait deja penser a cette solution qui me semble etre la seule utilisable.
Mais mon problème c'est comment faire savoir a ma page enregistrer que c'est une new note ou une new version. Comment changer les valeurs de ma requetes dans ma page enredgistrer selon que ce soit une version ou une note.

et aussi, je ne sait pas comment faire (dans ma requete) l'incrementation d'un champs.

je ne peut pas faire "id_version ++"

par pascaltje » 27 mai 2005, 11:39

si je comprends bien, les differentes versions d'une note ne sont pas écrasées sur un même enregistrement mais toutes archivées (= 1 enregistrement par version d'une note) ?

si c'est le cas je propose:

- mettre la clé id_note en int, pas auto_increment
- si on enregistre une nouvelle note, trouver l'id_note suivant (= le max de id_note + 1)
- si on enregistre une nouvelle version, reprendre id_note et pour id_version faire id_version + 1 (en supposant qu'on travaille sur la derniere version)

A+

Pascal

enregistrement en base

par renatane » 27 mai 2005, 10:22

bonjour,

alors alors,
j'ai une base de donnée qui contient 4 tables dont la table version:

cette table a 9 champs dont 2 en clé primaire. id_version et id_note.
cette table sert a enregistrer des notes (ecrites avec un titre, un texte.....)

dans l'ideal, je voudrait que lorqu'on crée une note, elle s'enregistre avec une incrementation de id_note (c'est une nouvelle note) et un id_versions a 0. Si on reprend cette note(a partir d'une autre page brouillon), et qu'on la modifie avant de la réenregistrer, j'aimerai qu'elle s'enregistre evc le mê id_note (car c la même note) mais avec une incrementation de id_version (car c une nouvelle version de la note).

auparavent, j'avait 1seul champ autoincrement en clé primaire. je pouvait enregistrer mes notes et les reprendre a partir d'un autre fichier (brouillon).

now, je ne sais plus comment m'y prendre et tout me parait compliqué.

tout d'abord, je ne sais pas comment faire pour enregistrer mes notes avec les bons id_version et id_note. je vasi devoir faire des test pour savoir si ma page est ouverte seule ou a partir d'un autre fichier, mais je ne voit pas comment changer l'enregistrement en base (avec id_version ou id_note modifiés selon que la page fut chargée a partir d'une autre ou non.