Update sous php/mysql

Fermé
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 - Modifié par chinoutoure le 10/11/2011 à 17:15
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 14 nov. 2011 à 11:53
Bonjour,

jai une base de donees mysql contenant des contrats des intérimaires et je voudrais savoir comment ne pas perdre les informations concernant un contrat d'un inérimaire lorsque le contrat de ce dernier a été prolongé. En effet lors de la prolongation certaines données des champs peuvent changer et je ne voudrais pas perdre les anciennes données.

Merci

A voir également:

4 réponses

WebDesigner Messages postés 74 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 10 septembre 2012 12
11 nov. 2011 à 15:13
Pourquoi ne pas récupérer les informations déjà enregistrées depuis votre base de données et les récupérer dans un formulaire pour mettre à jour les données de l'intérimaire ?

Autrement vous créez une table SQL afin d'y insérer les infos dans un historique de contrats.

Exemple : Table histo-interimaires

| ID | ID_USER | Nom | Prenom | Contrat | Societe | Date_debut | Date_fin | Motif_recours | Periode_d'essai | Statut | Qualification_demandee | Base_hebdo | Horaires | Caracteristiques_poste | Surveillance_medicale | Poste_a_risque | ADVC | Formation_renforcee | Medecine_du_travail | Salaire_ref |Salaire_paye | Infos

Ensuite à chaque nouvelles missions de l'interimaire vous insérer les informations dans cette table avec le même ID_USER, de cette façon vous pouvez regroupez les infos de l'intérimaire classée de cette façon dans la requête SQL "ORDER BY ID DESC"
0
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 1
14 nov. 2011 à 11:47
J'ai créé la table SQL comme la table histo-interimaire maintenant j'ai un probléme d'affichage lorsque par exemple un contrat d'un intérimaire n'est pas terminé et qu'il n'a pas encore été prolongé il m'affiche "Aucun élément trouvé"
Voici ma requête SQL:
<?php
require 'class.eyemysqladap.inc.php'; //ces class me permettent une affichage sous forme de tableau des informations
require 'class.eyedatagrid.inc.php';

// Load the database adapter
$db = new EyeMySQLAdap('localhost', 'root', '', 'gestion rh');

// Load the datagrid class
$x = new EyeDataGrid($db);

// Set the query: cette requete permet la selection des infos concernant un matricule donné
$x->setQuery("NUMERO,RECU,DATEDEBUTCONTRAT,PRO_DATEDEBUTCONTRAT,PRO_DATEFINCONTRAT,RECEPTION_CERTIFICAT,ETAT,SURSALAIRE,INDEMNITE,NOMSERVICE,ENTREPRISECLIENT", "rempli natural join contrat natural join pour natural join prolonger_contrat", "");

// Allows filters
$x->allowFilters();
$x->setFilter('MATRICULE',"$id");
// Change headers text
$x->setColumnHeader('DATEDEBUTCONTRAT', 'DEBUT CONTRAT');
$x->setColumnHeader('PRO_DATEFINCONTRAT', 'FIN CONTRAT');
$x->setColumnHeader('PRO_DATEDEBUTCONTRAT', 'DATE RENOUVELLEMENT');
$x->setColumnHeader('RECU', 'CONTRAT RECU');
$x->setColumnHeader('POSTE OCCUPE', 'POSTE');
$x->setColumnHeader('LIEURESIDENCE', 'LIEU DE RESIDENCE');
$x->setColumnHeader('DEGRE_SATISFACTION', 'SATISFACTION');
$x->setColumnHeader('SITMAT', 'SITUATION MATRIMONIALE');
$x->setColumnHeader('NBENFANT', 'NOMBRE D\'ENFANT');
$x->setColumnHeader('PRO_DATEFINPREC', 'DATE FIN PRECEDENT CONTRAT');
// Hide ID Column
$x->hideColumn('MATRICULE');
$x->hideColumn('PROF');
$x->hideColumn('STATUT');
$x->hideColumn('CLOTUREMODIF');
$x->hideColumn('CODE');
$x->hideColumn('CODEPOSTE');
$x->hideColumn('ID_PRO_CON');
$x->hideColumn('PRO_RECU');
$x->hideColumn('PRO_ETAT');
$x->hideColumn('PRO_SURSALAIRE');
$x->hideColumn('PRO_CATEGORIE');
$x->hideColumn('PRO_SALAIRE');
$x->hideColumn('MATRICULE');
//$x->hideColumn('PRO_DATEFINPREC');
//$x->hideColumn('PRO_DATEDEBUTCONTRAT');
$x->hideColumn('DATEFINCONTRAT');
if (EyeDataGrid::isAjaxUsed())
{
$x->printTable();
exit;
}
$x->printTable();mysql_close();
?>
Si tu peux faire quelque chose pour que lorsqu'un intérimaire dont son contrat n'est pas encore terminé qu'il l'affiche
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 nov. 2011 à 11:53
Bonjour,

Je vois trois solutions à ton problème.
Succinctement :

1 - Historiser le contrat d'origine dans une table dédiée ;
2 - Créer une table dédiée aux extensions de contrats, qui référence la table d'origine des contrats ;
3 - Versionner les contrats au sein de ta table d'origine, en rajoutant une colonne « version » à incrémenter lors d'une extension.

Xavier
0
bonsoir

alors dans votre cas je pense qu'il faut que tu fais une mise a jour des données éxistant au niveau de la base de données,par exemple:
Apées établissement de la connexion :
$sql=mysql_query("update table table set modificatio");
au revoir
-1
bonsoirr
0
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 1
11 nov. 2011 à 13:17
bonsoir abdel
si je fai une mise a jour je vais perdre les données qui étaient dans la table
et je ne veu pas parce que nous avons besoin de ces informations pour savoir
de quellle date a quelle date un intérimaire a trravaillé ét quand est ce qu'on la prolongé
0