Update sous php/mysql
chinoutoure
Messages postés
62
Statut
Membre
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Update sous php/mysql
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
4 réponses
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"
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"
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
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
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
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
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
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