PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » somme de 4 objet » 24-02-2016 09:29:57

pipipicontrole
Réponses : 0

Bonjour tout le monde,
j'ai besoin d'un petit coup de pousse si possible,
C’est la page méthode métier et c'est dans cette page que je dois mettre la méthode permettant de faire la somme des 4 enregistrements (objet) de la journée. C’est dans cette page on a la fonction create, search, update, delete et maintenant j'ai besoin de calculez et je saï pas comment implémentez la fonction calculez ici. En effet dans la grid d'affichage j'ai mi le bouton calculer mai quand on clique sur le bouton après avoir sélectionnée les 4 objets c'est le formulaire d’édition de total qui s'affiche, tan dis que je veux en cliquant sur le bouton que sa calcule le totale et l'insert dans la bases de donnée plus précisément dans la table total avec les identifiants des 4 objets sélectionnée comme clé étrangère. Je vous présente la page méthode métier :

<?php
class consommation_electricite_releve_total_metier {
     
    //************************************************
    //Déclaration du contructeur
    //************************************************
    function __construct()
    {
    }
 
    /**
     * Méthode qui résout les depandences
     *@param{$path}: tableau associatif des chemins vers les types de ficher
     */
    public static function  require_dependencies($path){
        $dependancies_entites = array(  
                                            "consommation_electricite_releve_total.php"
                                        , "admin_utilisateur.php"
                                         
                                     );
        $dependancies_metiers = array(
                                    );    
        foreach( $dependancies_entites as $key => $value) {
            require_once($path['entites'].$value);
        }
        foreach( $dependancies_metiers as $key => $value) {
            require_once($path['metiers'].$value);
        }      
    }
    /**
     *Mthode qui donne tous champs
     *@retour : un tableau contenant les champs(ex: array('identifiant','titre'))
     */
    public static function getDataSourceFields() {
 
        //on initialise le tableau
        $fields = array(                        
                       );
        //
        $fields =  array_merge ( $fields,  consommation_electricite_releve_total::getDataSourceFields()  );
         
        //on retourne le resultat
        return $fields;
    }
     
    /**
     *Méthode qui effectue le traitement de logs changement de certains champs
     *@param{consommation_electricite_releve_totalInstance} : une instance de la classe    
     *@param{temps} : une instance de la classe    
     *@param{donnee} :
     *@param{connexion} : une instance pdo
     **/
    function createHistoriqueConsommation_electricite_releve_total_created($consommation_electricite_releve_totalInstance ,$temps, $donnee , $connexion) {
        //
        $params = array();
                 
        foreach( $params as $key => $value) {
             
            $informations = 'consommation_electricite_releve_total_historique_'.$value.'_informations';
            $classe = 'consommation_electricite_releve_total_historique_'.$value;
            $setMethode = 'setParam_consommation_electricite_releve_total_'.$value.'_identifiant';
            $getMethode = 'getParam_consommation_electricite_releve_total_'.$value.'_identifiant';
 
            $instance = new  $classe();    
            $instance->setConsommation_electricite_releve_total_identifiant(  $consommation_electricite_releve_totalInstance->getIdentifiant() );
            $instance->setDate($temps);
            $instance->setAdmin_utilisateur_identifiant($_SESSION['id']);
            $instance->$setMethode( $consommation_electricite_releve_totalInstance->$getMethode() );
            if( isset($donnee->$informations )) {
                $instance->setInformations($donnee->$informations);
            }
            $instance->create($connexion);
        }
    }
    /**
     *Méthode qui effectue le traitement de logs changement de certains champs
     *@param{consommation_electricite_releve_totalInstance} : une instance de la classe
     *@param{consommation_electricite_releve_totalAncienInstance} : une instance  de la classe avant modification  
     *@param{temps} : le temps
     *@param{donnee} : le temps
     *@param{connexion} : une conenxion sur la base de donnée
     **/
    function createHistoriqueConsommation_electricite_releve_total_updated($consommation_electricite_releve_totalInstance , $consommation_electricite_releve_totalInstance_ancien ,  $temps , $donnee , $connexion) {
        //
        $params = array();
 
        foreach( $params as $key => $value) {
             
            $informations = 'consommation_electricite_releve_total_historique_'.$value.'_informations';
            $classe = 'consommation_electricite_releve_total_historique_'.$value;
            $setMethode = 'setParam_consommation_electricite_releve_total_'.$value.'_identifiant';
            $setMethode_ = 'setParam_consommation_electricite_releve_total_'.$value.'_identifiant_';
            $getMethode = 'getParam_consommation_electricite_releve_total_'.$value.'_identifiant';
            $getMethode_ = 'getParam_consommation_electricite_releve_total_'.$value.'_identifiant_';
 
            $instance = new  $classe();    
            $instance->setConsommation_electricite_releve_total_identifiant(  $consommation_electricite_releve_totalInstance->getIdentifiant() );
            $instance->setDate($temps);
            $instance->setAdmin_utilisateur_identifiant($_SESSION['id']);
            $instance->$setMethode( $consommation_electricite_releve_totalInstance->$getMethode() );
            $instance->$setMethode_( $consommation_electricite_releve_totalInstance_ancien->$getMethode() );
            if( isset($donnee->$informations )) {
                $instance->setInformations($donnee->$informations);
            }
            if( $instance->$getMethode() != $instance->$getMethode_()) {
                $instance->create($connexion);
            }
        }  
    }
 
    /**
     * Méthode qui traite la cohérence des informations d'un ticket avec une opération create ou update
     * @param{consommation_electricite_releve_totalInstance}: l'instance du ticket
     **/
    public function gererCoherencesInfosConsommation_electricite_releve_total( $consommation_electricite_releve_totalInstance , $temps, $connexion , $operation ) {
         
 
        if( $consommation_electricite_releve_totalInstance->getDate_creation() != '' &&  common::checkFrFullDateFormat($consommation_electricite_releve_totalInstance->getDate_creation() ) ) {
            $consommation_electricite_releve_totalInstance->setDate_creation(common::frFullDateFormatToTimeStamp($consommation_electricite_releve_totalInstance->getDate_creation()));
        //
        }if (strcmp(  $operation ,'create' ) == 0 ) {
            /**on met a jour les infos historique de création du tiers ****/
            /*$consommation_electricite_releve_totalInstance->setAdmin_utilisateur_creation_identifiant($_SESSION['id']);
            $consommation_electricite_releve_totalInstance->setDate_creation($temps);
            $consommation_electricite_releve_totalInstance->setAdmin_utilisateur_modification_identifiant('');
            $consommation_electricite_releve_totalInstance->setDate_modification('');*/
             
        }else if (strcmp(  $operation ,'update' ) == 0 ) {
             
            /*$consommation_electricite_releve_totalInstance_ancien = new consommation_electricite_releve_total();        
            $consommation_electricite_releve_totalInstance_ancien->read( $connexion , $consommation_electricite_releve_totalInstance->getIdentifiant() ); */
 
            /**on met a jour les infos historique de création du tiers ****/
            /*$consommation_electricite_releve_totalInstance->setAdmin_utilisateur_modification_identifiant($_SESSION['id']);
            $consommation_electricite_releve_totalInstance->setDate_modification($temps);*/                                
 
        }      
        //
        return $consommation_electricite_releve_totalInstance;
    }
     
 
    //************************************************
    //Méthode qui effectue le traitement de l'action de recherche des enregistrements consommation_electricite_releve_total
    //@param {parametresCriteres} : un tableau associatif contenant les critères de recherche(ex: array('critre'=>array('valeur'=>valeur,'operateur'=>operateur)))
    //@param {parametreDebut} : le paramètre de début de la pagination(ex: 2)
    //@param {paramtreLimit} : le paramètre de fin de la pagination(ex: 100 )
    //@param {parametreTriChamps} : le paramètre champs du tri(ex: 'nom' )
    //@param {parametreTriSens} : le paramètre sens du tri(ex: 'asc' )
    //@retour: le tableau des enregistrements avec le total sans tenir compte de la pagination (ex:array('data'=>array('attribut'=>valeur),'total'=>100))
    //************************************************
    public function search($parametresCriteres,$parametreDebut,$paramtreLimit,$parametreTriChamps,$parametreTriSens)
    {  
        //on initialise une connexion vers la base de données
        $connexion_dbInstance = new  connexion_db();
        //on initialise les critères de tri par défaut sur l'identifiant
        $tri = array("champs"=> "identifiant","sens"=> "asc");
        //on initialise les critères de pagination par défaut sur 20 enregistrements au maximun en commançant à un début de 0
        $pagination = array("debut"=> 0, "fin"=> 20);
        //on initialise le tableau associatif des critères de recherche
        $criteres = array();
        //on initialise le tableau des champs de tri autorisés
        $champsTriAutorises = array( 'identifiant'  ,'valeur'  ,'date_creation'  ,'date_modification'  ,'admin_utilisateur_creation_identifiant'  ,'admin_utilisateur_modification_identifiant'  );
        //on initialise le tableau des critères de recherche autorisés
        $criteresRechercheAutorises = array( 'identifiant'  ,'valeur'  ,'date_creation'  ,'date_modification'  ,'admin_utilisateur_creation_identifiant'  ,'admin_utilisateur_modification_identifiant'  );
        //on crée une instance de la classe consommation_electricite_releve_total
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        //on parcour le tableau des critères de recherche autorisés
        foreach($criteresRechercheAutorises as $val)
        {  
            //si un trouve ce critère parmi ceux envoyés
            if( $parametresCriteres != "" && isset($parametresCriteres[$val]) && $parametresCriteres[$val] != "" )
            {
                //on l'ajoute aux critères à envoyer
                $criteres[$val] = $parametresCriteres[$val];
            }
        }
        //si le critère de fin de pagination envoyé est non vide et supérieur à 0
        if($paramtreLimit != "" && $paramtreLimit > 0)
        {
            //on le récupère
            $pagination["fin"] = $paramtreLimit;
        }
        //si le critère de début de pagination envoyé est non vide et supérieur ou egale à 0
        if($parametreDebut != "" && $parametreDebut >= 0)
        {
            //on le récupère
            $pagination["debut"] = $parametreDebut;
        }
        //si le champs du critère de tri envoyé est non vide et figure parmi ceux autorisés
        if($parametreTriChamps != "" && in_array($parametreTriChamps,$champsTriAutorises))
        {
            //on le récupère
            $tri["champs"] = $parametreTriChamps ;
        }
        //si le critère du sens de pagination envoyé est non vide et est valide
        if($parametreTriSens != "" && ( ! strnatcasecmp($parametreTriSens, 'asc') || !strnatcasecmp($parametreTriSens, 'desc') ) )
        {
            //on le récupère
            $tri["sens"] = $parametreTriSens ;
        }
        //on recherche les données en fonction des critères
        $retour = $consommation_electricite_releve_totalInstance::search($connexion_dbInstance::$connexion,$criteres,$pagination,$tri);    
        //on retourne le resultat
        return $retour ;  
    }
 
    //************************************************
    //Méthode qui effectue la création
    //@param {donnees} : un tableau contenant les enregistrements à inserer (ex: array( array('champs1'=>valeur1,'champs2'=>valeur2)))
    //@param {xmlMessage} : le domXpath du fichier xml des messages
    //@retour: un tableau associatif reprensentant la structure de reponse (ex: array('success'=>false,'reponse'=>array( array('success'=>true,'validation'=>  array('estValide': false, 'champs'=>array('attribut'=>array('estValide'=>false,'message'=>code du message))),'message'=>'sous opération ok') ),'message'=>'opération global ok') )
    //************************************************
    function create($donnees,&$xmlMessage)
    {  
        //on initialise la connexion sur la base de données
        $connexion_dbInstance = new  connexion_db();  
        //on crée une instance de classe
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        //on initialise l'indicateur de succès de l'opération globale
        $successGlobal = false;
        //on initialise le message de retour complet de l'opération
        $messageGlobal = '';
        //on initialise le tableau pour contenir les codes possible du message de retour global: dont les message correspondants seron concatené
        $messageGlobalCodes = array();    
        //on initialise le tableau contenant les reponses d'opération pour chaque enregistrement
        $reponseGlobal = array();
        //on initialise le retour
        $retourGlobal = array('success'=>false,'reponse'=>array(),'message'=>'');
        //
        $temps = time();  
        //si le tableau des données est non vide
        if($donnees !="" && is_array($donnees))
        {
            //on le parcour
            foreach($donnees as $donnee)
            {
                //on initialise l'indicateur de résussite de l'opération pour l'enregistrement courant
                $id = 0;          
                //on initialise l'indicateur de reussite(retour) de l'opération pour l'enregistrement courant
                $successCourant = false;          
                //on initialise le message de retour de l'opération pour l'enregistrement courant
                $messageCourant = '';
                //on initialise les attributs de l'instance de la casse consommation_electricite_releve_total avec les valeurs de l'enregistrement
                $consommation_electricite_releve_totalInstance->fillFromObject($donnee);
                //
                $consommation_electricite_releve_totalInstance = $this->gererCoherencesInfosConsommation_electricite_releve_total( $consommation_electricite_releve_totalInstance ,$temps ,$connexion_dbInstance::$connexion , 'create') ;                                      
                //on valide l'instance
                $validationRetour = $consommation_electricite_releve_totalInstance->validate($connexion_dbInstance::$connexion);
                //s'il l'est
                if($validationRetour['estValide'] == true)
                {
                    //on insère les valeur de l'instance dans la base de données
                    $id = $consommation_electricite_releve_totalInstance->create($connexion_dbInstance::$connexion);
                    $consommation_electricite_releve_totalInstance->setIdentifiant($id);                
                }
                //s'il ne l'est pas
                else
                {
                    //on ajoute au message de retour global la non validité de certains enregistrements
                    $messageGlobalCodes['1_'] = 30;
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //on indique comme message pour l'opération courante l'erreur de validation
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',1,false,$xmlMessage);
                                 
                     
                //on met le bon message de validation du champs valeur
                rendu_message::setMessageContenu('1','consommation_electricite_releve_total',$validationRetour['champs']['valeur']['message'],false,$xmlMessage,$validationRetour['champs']['valeur']['message']);        
                 
 
                }
                //si l'opération courante s'est bien déroulée
                if( $id > 0)
                {
                    //on indique la réussite de l'opération courante
                    $successCourant = true;
                    //on indique comme message pour l'opération courante le message de succès
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',10,false,$xmlMessage);
                     
                    /************   traitement historique  ***************/                
                    //$this->createHistoriqueConsommation_electricite_releve_total_created( $consommation_electricite_releve_totalInstance   , $temps , $donnee , $connexion_dbInstance::$connexion );                  
                }
                //si l'opération courante ne s'est pas bien déroulée
                else
                {
                    //on indique comme message pour l'opération courante le message d'échec
                    $messageCourant  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',20,false,$xmlMessage);
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //si l'enregistrement est valide
                    if($validationRetour['estValide'] == true)
                    {
                        //on ajoute au message de retour global l'echec de l'opération pours certains enregistrements
                        $messageGlobalCodes['10_'] = 40;
                    }  
                }
                //on initialise la structure de retour l'opération courante
                $responseCourant = array('success'=>$successCourant,'message'=>$messageCourant,'validation'=>$validationRetour);
                //on ajoute la structure de retour l'opération courante dans le tableau de reponse de la structure de retour globale
                array_push($reponseGlobal,$responseCourant);
            }
        }
        //on initialise la structure glabale avec la liste des reponses d'opération pour chaque enregistrement
        $retourGlobal['reponse'] = $reponseGlobal;
        //on parcours le tableau des codes trouvé pour le message global
        foreach($messageGlobalCodes as $code)
        {
            //si le message global est vide
            if($messageGlobal == "")
            {
                //on l'affecte avec le message du code
                $messageGlobal  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,false,$xmlMessage);
            }
            else
            {
                //on ajoute le message du code
                $messageGlobal .= rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,true,$xmlMessage);
            }
        }
        //si le message global est vide
        if($messageGlobal == "")
        {
            //on indique comme message gloable que l'opération s'est bien déroulé
            $messageGlobal = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',50,false,$xmlMessage);
            $successGlobal = true;
        }
        //on affecte l'indicateur de succès global
        $retourGlobal['success'] = $successGlobal;
        //on affecte le message de retour global
        $retourGlobal['message'] = $messageGlobal;
        //on retourne le resultat
        return $retourGlobal;
    }
     
    //************************************************
    //Méthode qui effectue la mise à jour
    //@param {donnees} : un tableau contenant les enregistrements à mettre à jour (ex: array( array('champs1'=>valeur1,'champs2'=>valeur2)))
    //@param {xmlMessage} : le domXpath du fichier xml des messages
    //@retour: un tableau associatif reprensentant la structure de reponse (ex: array('success'=>false,'reponse'=>array( array('success'=>true,'validation'=>  array('estValide': false, 'champs'=>array('attribut'=>array('estValide'=>false,'message'=>code du message))),'message'=>'sous opération ok') ),'message'=>'opération global ok') )
    //************************************************
    function update($donnees,&$xmlMessage)
    {          
        //on initialise la connexion sur la base de données
        $connexion_dbInstance = new  connexion_db();  
        //on crée une instance de classe
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        $consommation_electricite_releve_totalInstance_ancien = new consommation_electricite_releve_total();      
        //on initialise l'indicateur de succès de l'opération globale
        $successGlobal = false;
        //on initialise le message de retour complet de l'opération
        $messageGlobal = '';
        //on initialise le tableau pour contenir les codes possible du message de retour global: dont les message correspondants seron concatené
        $messageGlobalCodes = array();    
        //on initialise le tableau contenant les reponses d'opération pour chaque enregistrement
        $reponseGlobal = array();
        //on initialise le retour
        $retourGlobal = array('success'=>false,'reponse'=>array(),'message'=>'');
        //
        $temps = time();                  
        //si le tableau des données est non vide
        if($donnees !="" && is_array($donnees))
        {
            //on le parcour
            foreach($donnees as $donnee)
            {
                //on initialise l'indicateur de résussite de l'opération pour l'enregistrement courant
                $id = 0;
                //on initialise l'indicateur de reussite(retour) de l'opération pour l'enregistrement courant
                $successCourant = false;
                //on initialise le message de retour de l'opération pour l'enregistrement courant
                $messageCourant = '';
                //on initialise les attributs de l'instance de la casse consommation_electricite_releve_total avec les valeurs de l'enregistrement
                $consommation_electricite_releve_totalInstance->fillFromObject($donnee);
                //lecture de l'anciienne instance avec les donénes avant la modification
                $consommation_electricite_releve_totalInstance_ancien->read($connexion_dbInstance::$connexion , $consommation_electricite_releve_totalInstance->getIdentifiant());                              
                //
                $consommation_electricite_releve_totalInstance = $this->gererCoherencesInfosConsommation_electricite_releve_total( $consommation_electricite_releve_totalInstance ,$temps , $connexion_dbInstance::$connexion , 'update') ;                                                    
                //on valide l'instance
                $validationRetour = $consommation_electricite_releve_totalInstance->validate($connexion_dbInstance::$connexion);
                //s'il l'est
                if($validationRetour['estValide'] == true)
                {
                    //on met à jour les valeur de l'instance dans la base de données
                    $id = $consommation_electricite_releve_totalInstance->update($connexion_dbInstance::$connexion);
                }
                //s'il ne l'est pas
                else
                {
                    //on ajoute au message de retour global la non validité de certains enregistrements
                    $messageGlobalCodes['1_']= 30;
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //on indique comme message pour l'opération courante l'erreur de validation
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',1,false,$xmlMessage);
                    //on met le bon message de validation du champs client
                     
                //on met le bon message de validation du champs valeur
                rendu_message::setMessageContenu('1','consommation_electricite_releve_total',$validationRetour['champs']['valeur']['message'],false,$xmlMessage,$validationRetour['champs']['valeur']['message']);        
                         
                }
                //si l'opération courante s'est bien déroulée
                if( $id > 0)
                {
                    //on indique la réussite de l'opération courante
                    $successCourant = true;
                    //on indique comme message pour l'opération courante le message de succès
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',60,false,$xmlMessage);
 
                    /************   traitement historique  ***************/                
                    //$this->createHistoriqueConsommation_electricite_releve_total_updated( $consommation_electricite_releve_totalInstance  , $consommation_electricite_releve_totalInstance_ancien  , $temps , $donnee , $connexion_dbInstance::$connexion );                  
                }
                //si l'opération courante ne s'est pas bien déroulée
                else
                {
                    //on indique comme message pour l'opération courante le message d'échec
                    $messageCourant  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',70,false,$xmlMessage);
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //si l'enregistrement est valide
                    if($validationRetour['estValide'] == true)
                    {
                        //on ajoute au message de retour global l'echec de l'opération pours certains enregistrements
                        $messageGlobalCodes['10_'] = 80;
                    }
                }
                //on initialise la structure de retour l'opération courante
                $responseCourant = array('success'=>$successCourant,'message'=>$messageCourant,'validation'=>$validationRetour);
                //on ajoute la structure de retour l'opération courante dans le tableau de reponse de la structure de retour globale
                array_push($reponseGlobal,$responseCourant);
            }
        }
        //on initialise la structure glabale avec la liste des reponses d'opération pour chaque enregistrement
        $retourGlobal['reponse'] = $reponseGlobal;
        //on parcours le tableau des codes trouvé pour le message global
        foreach($messageGlobalCodes as $code)
        {
            //si le message global est vide
            if($messageGlobal == "")
            {
                //on l'affecte avec le message du code
                $messageGlobal  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,false,$xmlMessage);
            }
            else
            {
                //on ajoute le message du code
                $messageGlobal .= rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,true,$xmlMessage);
            }
        }
        //si le message global est vide
        if($messageGlobal == "")
        {
            //on indique comme message gloable que l'opération s'est bien déroulé
            $messageGlobal = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',90,false,$xmlMessage);
            $successGlobal = true;
        }
        //on affecte l'indicateur de succès global
        $retourGlobal['success'] = $successGlobal;
        //on affecte le message de retour global
        $retourGlobal['message'] = $messageGlobal;
        //on retourne le resultat
        return $retourGlobal;
    }
     
 
    //************************************************
    //Méthode qui effectue la suppréssion
    //@param {donnees} : un tableau contenant les enregistrements à supprimer (ex: array( array('champs1'=>valeur1,'champs2'=>valeur2)))
    //@param {xmlMessage} : le domXpath du fichier xml des messages
    //@retour: un tableau associatif reprensentant la structure de reponse (ex: array('success'=>false,'reponse'=>array( array('success'=>true,'message'=>'sous opération ok') ),'message'=>'opération global ok') )
    //************************************************
    function delete($donnees,&$xmlMessage)
    {  
        //on initialise la connexion sur la base de données
        $connexion_dbInstance = new  connexion_db();  
        //on crée une instance de classe
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        //on initialise l'indicateur de succès de l'opération globale
        $successGlobal = false;
        //on initialise le message de retour complet de l'opération
        $messageGlobal = '';
        //on initialise le tableau pour contenir les codes possible du message de retour global: dont les message correspondants seron concatené
        $messageGlobalCodes = array();    
        //on initialise le tableau contenant les reponses d'opération pour chaque enregistrement
        $reponseGlobal = array();
        //on initialise le retour
        $retourGlobal = array('success'=>false,'reponse'=>array(),'message'=>'');    
        //si le tableau des données est non vide
        if($donnees !="" && is_array($donnees))
        {
            //on le parcour
            foreach($donnees as $donnee)
            {
                //on initialise l'indicateur de résussite de l'opération pour l'enregistrement courant
                $id = 0;          
                //on initialise l'indicateur de reussite(retour) de l'opération pour l'enregistrement courant
                $successCourant = false;          
                //on initialise le message de retour de l'opération pour l'enregistrement courant
                $messageCourant = '';
                //on initialise les attributs de l'instance de la casse consommation_electricite_releve_total avec les valeurs de l'enregistrement
                $consommation_electricite_releve_totalInstance->fillFromObject($donnee);
                //si l'identifiant de l'instance est non vide
                if($consommation_electricite_releve_totalInstance->getIdentifiant() != '' )
                {
                    //on supprime l'enregistrement correspondant à l'instance dans la base de données
                    $id = $consommation_electricite_releve_totalInstance->delete($connexion_dbInstance::$connexion);
                }
                //s'il l'est
                else
                {
                    //si l'identifiant est vide
                    if($consommation_electricite_releve_totalInstance->getIdentifiant() != '')
                    {
                        //on ajoute au message de retour global la non présence de l'id de suppréssion de certains enregistrements
                        $messageGlobalCodes['1_']= 140;
                    }
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //on indique comme message pour l'opération courante l'erreur de non présence de l'identifiant
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',100,false,$xmlMessage);
                }
                //si l'opération courante s'est bien déroulée
                if( $id > 0)
                {
                    //on indique la réussite de l'opération courante
                    $successCourant = true;
                    //on indique comme message pour l'opération courante le message de succès
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',110,false,$xmlMessage);
                }
                //si l'opération courante ne s'est pas bien déroulée
                else
                {
                    //on indique comme message pour l'opération courante le message d'échec
                    $messageCourant  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',120,false,$xmlMessage);
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //si l'identifiant de l'instance est non vide
                    if($consommation_electricite_releve_totalInstance->getIdentifiant() != '')
                    {
                        //on ajoute au message de retour global l'echec de l'opération pours certains enregistrements
                        $messageGlobalCodes['10_'] = 130 ;
                    }
                }
                //on initialise la structure de retour l'opération courante
                $responseCourant = array('success'=>$successCourant,'message'=>$messageCourant);
                //on ajoute la structure de retour l'opération courante dans le tableau de reponse de la structure de retour globale
                array_push($reponseGlobal,$responseCourant);
            }
        }
        //on initialise la structure glabale avec la liste des reponses d'opération pour chaque enregistrement
        $retourGlobal['reponse'] = $reponseGlobal;
        //on parcours le tableau des codes trouvé pour le message global
        foreach($messageGlobalCodes as $code)
        {
            //si le message global est vide
            if($messageGlobal == "")
            {
                //on l'affecte avec le message du code
                $messageGlobal  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,false,$xmlMessage);
            }
            else
            {
                //on ajoute le message du code
                $messageGlobal .= rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,true,$xmlMessage);
            }
        }
        //si le message global est vide
        if($messageGlobal == "")
        {
            //on indique comme message gloable que l'opération s'est bien déroulé
            $messageGlobal = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',150,false,$xmlMessage);
            $successGlobal = true;
        }
        //on affecte l'indicateur de succès global
        $retourGlobal['success'] = $successGlobal;
        //on affecte le message de retour global
        $retourGlobal['message'] = $messageGlobal;
        //on retourne le resultat
        return $retourGlobal;
    }  
}
?>

 

#2 Forum Général PHP » afficher les infos de 2 page differente dans une 3 page » 01-03-2015 14:41:15

pipipicontrole
Réponses : 1

Bonjour tout le monde j’ai un problème a vous exposer
j’ai 3 page PHP dans ce ordre :
une page index.php qui contient le lien des 2 autres pages que je vais nommer
une page inscription.php qui contient un formulaire d'inscription
et une page recrutement qui contient les offres d'emploi publier en bas de chaque offre il y a un bouton « je postule » en cliquant sur le bouton c'est le formulaire d'inscription qui s'affiche tandis que je veux que le formulaire d'inscription s'affiche avec les infos de l'offre sur la quelle l'utilisateur a cliqué vraiment cette partie je sais pas comma mi prendre juste un coup de pousse pour un apprentie.
Merci d’avance.
NB : tout les offres d'emplois sont charger d'une BD et tout les inscriptions est enregistrez dans cette même base.
Je vous pressente le code des trois pages dans le même ordre :
index.php


<!DOCTYPE html>
  <html>
  <head>
    <link rel="stylesheet" type="text/css" href="style_div.css">
    <title>Index</title>
  </head>
  <body>
       <div id="bloc-nav">
         <div id="bloc-2" class="nav <?php if( isset( $_GET['page'] )&& strcmp( $_GET['page'] , 'offres' ) == 0 ){ echo  '  active ';}  ?>" >
                  <a href="?page=offres">Offre d'emplois</a>
         </div>
         <div id="bloc-3" class="nav <?php  if( isset( $_GET['page'] )&& strcmp( $_GET['page'] , 'candidature' ) == 0 ){ echo  '  active ';}  ?>" >
                  <a href="?page=candidature" >candidature spontaner</a>
        </div>
      </div>
      <div id="bloc-content";>
         [code=php]   <?php
                  $page = (isset($_GET['page'])) ? $_GET['page'] : '' ;
                  switch ( $page ) {
                  case 'offres':
                           require_once('recrutement_offre.php');                        
                        break;
                  case 'candidature':
                        require_once('recrutement_formulaire_candidature.php');                        
                        break;
            }
            ?>    [/code]
      </div>
  </body>
</html>  

inscription.php : après avoir cliquer sur le bouton « je postule » que le formulaire s'affiche avec les infos de l'offre sur la quelle l’utilisateur a cliquer


<!DOCTYPE html>
  <html>
  <head>
    <title>inscription</title>
  </head>
  <body>
<?php
  error_reporting(E_ALL);
  ini_set("display_errors", 1);
  require_once '../../../classes/common.php';
  require_once '../../../classes/sql_helper.php';
  require_once '../../../classes/connexion_db.php';
  require_once '../../../classes/metiers/rh_recrutement_candidat_metier.php';
  $connexion_dbInstance = new  connexion_db();
  //$rh_recrutement_candidat_metier::require_dependencies(array('entites'=>'../../../classes/entites/','metiers'=>'../../../classes/metiers/'));
  //$retour_rh_recrutement_candidat_metier = rh_recrutement_metier::search($connexion_dbInstance::$connexion,array() , array('debut'=>0,'fin'=>100000) , array('champs'=>'identifiant','sens'=>'asc') );

   /*foreach ($retour_rh_recrutement_candidat_metier['data'] as $key => $value) {
      echo $value['nom'];
   }*/

?>
<form name='inscription' align="center" action="recrutement_formulaire_candidature_traitement.php" method="POST">
 <table border="0" align="center" cellpacing="2" cellpadding="2">
  <tr align="center">
      <td>Prenom</td>
      <td><input type="text" name="Prenom" necessaire></td>
  </tr>
  <tr align="center">
      <td>Nom</td>
      <td><input type="text" name="Nom" necessaire></td>
  </tr>
  <tr align="center">
      <td>Sexe</td>
      <td><input type="int" name="Sexe" necessaire></td>
  </tr>
  <tr align="center">
      <td>Age</td>
      <td><input type="text" name="Age" necessaire></td>
  </tr>
  <tr align="center">
      <td>Numero 1</td>
      <td><input type="text" name="Numero 1" necessaire></td>
  </tr>
  <tr align="center">
      <td>Numero 2</td>
      <td><input type="text" name="Numero 2" ></td>
  </tr>
  <tr align="center">
      <td>Email 1</td>
      <td><input type="text" name="Email 1" necessaire> </td>
  </tr>
  <tr align="center">
      <td>Email 2</td>
      <td><input type="text" name="Email 2"></td>
  </tr>
  <tr align="center">
      <td>Adresse</td>
      <td><textarea  name="Adresse" rows="2" cols="30" necessaire> </textarea></td>
  </tr>
  <tr align="center">
      <td>CV</td>
      <td><input type="file" name="CV"></td>
  </tr>
   <tr align="center">
      <td>Lettre de motivation</td>
      <td><input type="file" name="Lettre de motivation"></td>
  </tr>
  <tr align="center">
      <td ><input type="submit" value="annuler"></td>
      <td colspan="2"><input type="submit" value="valider"></td>
  </tr>
 </table>
    </body>
</html>    

recrutement.php


<!DOCTYPE html>
  <html>
  <head>
    <title>recrutement</title>
  </head>
  <body>
<?php
  error_reporting(E_ALL);
  ini_set("display_errors", 1);
  require_once '../../../classes/common.php';
  require_once '../../../classes/sql_helper.php';
  require_once '../../../classes/connexion_db.php';
  require_once '../../../classes/metiers/rh_recrutement_metier.php';
  $connexion_dbInstance = new  connexion_db();  
      rh_recrutement_metier::require_dependencies(array('entites'=>'../../../classes/entites/','metiers'=>'../../../classes/metiers/'));
  $retour_rh_recrutement_metier = rh_recrutement::search($connexion_dbInstance::$connexion, array(), array('debut'=>0,'fin'=>100000) , array('champs'=>'identifiant','sens'=>'asc'));
   foreach ($retour_rh_recrutement_metier['data'] as $key => $value) {
      echo '
              <div class="recrutement">
                  <div class="recrutement-intro"><span class="recrutement-contrat">'
.
                  $value['param_rh_recrutement_contrat_type_nom']
                  .'</span><span class="recrutement-poste" >'.
                  $value['poste']
                  .'</span>
                    <div class="recrutement-intro"><span class="recrutement-date">
                    Publié le '
.date('d/m/Y',$value['date_debut_publicatoin']).'
                    </div>
                  </div>
                  <div class="recrutement-infos">
                      <div class="recrutement-profil"> <pre>'
.$value['profil'].'</pre></div>
                      <div class="recrutement-mission"> <pre>'
.$value['description'].'</pre> </div>
                      <div class="recrutement-actionneur"><form action="'
.$value['identifiant'].'" ><a href="?page=candidature" ><input type="button" name="" value="Je postule"/></a> </form></div>
                  </div>s
              </div>
            '
;
    }
?>
    </body>
</html>

Le but c'est que quant un utilisateur clic sur le bouton je postule, que le formulaire d'inscription s'affiche avec les infos de l'offre d’emploi choisie par l’utilisateur.

Pied de page des forums

Propulsé par FluxBB