begin process at 2012 05 31 00:20:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Insert et classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insert et classe

vendredi 1 juillet 2005 à 10:53:59 | Insert et classe

nagrom_om

J ai créé une classe conge. La méthode select marche bien mais je n arrive pas à rédiger l'insert :

<?
class CConges
{
 var $m_pt;

 var $m_numeroConge    = -1;
 var $m_numeroUtil    = -1;
 var $m_dateDemande          = "";
 var $m_dateDepart        = "";
 var $m_dateRetour     = "";
 var $m_commentUtil          = "";
 var $m_acceptResp         = false;
 var $m_acceptDirection    = "";
 var $m_commentDirection   = "";

 // CONSTRUCTEUR PAR DEFAUT
 function CConges ($_numeroConge = -1)
 {
  $this->m_pt = new dev_SQL; // On se connecte à la base de données
  $this->m_numeroConge = $_numeroConge;

 } // CConges ()

 function Select ()
 {
  if ($this->m_numeroConge == -1) return false;

  $Query = "SELECT *
            FROM   Conges
            WHERE  numero_conge = " . $this->m_numeroConge;

  $this->m_pt->query ($Query);
  if (!($Conges = $this->m_pt->fetch_array ())) // Si l'historique n'existe pas
  {
   $this->m_numeroConge = -1;
   return false;
  }

  $this->m_numeroConge    = addslashes ($Conges['numero_conge']);
  $this->m_numeroUtil   = addslashes ($Conges['numero_util']);
  $this->m_dateDemande        = addslashes (ChangeDate ($Conges['date_demande']));
  $this->m_dateDepart        = addslashes (ChangeDateHeure ($Conges['date_depart']));
  $this->m_dateRetour      = addslashes (ChangeDateHeure ($Conges['date_retour']));
  $this->m_commentUtil      = addslashes ($Conges['commentaires_util']);
  $this->m_acceptResp         = addslashes ($Conges['accept_responsable']);
  $this->m_acceptDirection    = addslashes ($Conges['accept_direction']);
  $this->m_commentDirection   = addslashes ($Conges['commentaires_responsable']);
  
  return true;

 } // Select ()

function GetNumeroConge    () { return stripslashes ($this->m_numeroConge); }
 function GetNumeroUtil    () { return stripslashes ($this->m_numeroUtil); }
 function GetDateDemande         () { return stripslashes ($this->m_dateDemande); }
 function GetDateDepart        () { return stripslashes ($this->m_dateDepart); }
 function GetDateRetour      () { return stripslashes ($this->m_dateRetour); }
 function GetCommentUtil         () { return stripslashes ($this->m_commentUtil); }
 function GetAcceptResp          () { return stripslashes ($this->m_acceptResp); }
 function GetAcceptDirection     () { return stripslashes ($this->m_acceptDirection); }
 function GetCommentDirection    () { return stripslashes ($this->m_commentDirection); }

 function SetNumeroConge   ($_numeroConge)   { $this->m_numeroConge   = $_numeroConge; }
 function SetNumeroUtil          ($_numeroUtil)          { $this->m_numeroUtil       = $_numeroUtil; }
 function SetDateDemande       ($_dateDemande)        { $this->m_dateDemande      = $_dateDemande; }
 function SetDateDepart      ($_dateDepart)      { $this->m_dateDepart     = $_dateDepart; }
 function SetDateRetour         ($_dateRetour)          { $this->m_dateRetour       = $_dateRetour; }
 function SetCommentUtil         ($_commentUtil)         { $this->m_commentUtil      = $_commentUtil; }
 function SetAcceptResp       ($_acceptResp)       { $this->m_acceptResp       = $_acceptResp; }
 function SetAcceptDirection     ($_acceptDirection)     { $this->m_acceptDirection  = $_acceptDirection; }
 function SetCommentDirection    ($_commentDirection)    { $this->m_commentDirection = $_commentDirection; }
 
 
 function CreerConge($numeroUtil,$dateDemande,$dateDepart,$dateRetour,
      $commentUtil,$acceptResp,$acceptDirection,$commentDirection)
 {
  $Query = "INSERT INTO Conges (numero_util, date_demande, date_depart, date_retour,
                                commentaires_util, accept_reponsable, accept_direction, commentaires_direction)
            VALUE ("  . $this->m_numeroConge . ",
                   '" . $this->m_numeroUtil  . "',
                   '" . ReverseDate ($this->m_dateDemande) . "',
                   '" . ReverseDateHeure ($this->m_dateDepart) . "',
                   '" . ReverseDateHeure ($this->m_dateRetour) . "',
                   '" . $this->m_commentUtil . "',
                   '" . $this->m_acceptResp . "',
                   '" . $this->m_acceptDirection . "',
                   '" . $this->m_commentDirection . "')";

  $this->m_pt->query ($Query);
  return true;

 } 
?>

Ensuite dans ma page j ai :

// CONNEXION
   $ptr = new dev_SQL; 
     $idCnx = pg_connect (STR_CNX) ;
   
   $oConge = new CConges(-1) ;
   $oUtil = new CUtil($HTTP_SESSION_VARS['IdUtil']);
   //RECUPERATION DES INFORMATIONS UTILISATEUR
   $oUtil->select();
   
   // Cas d'une insertion
   if (isset($btnValider) && ($btnValider != ""))
   {
   
    $oConge->CreerConge($oConge->GetNumeroUtil(), $oConge->GetDateDemande(), $oConge->GetDateDepart(), $oConge->GetDateRetour(),
        $oConge->GetCommentUtil(),$oConge->GetAcceptResp(),$oConge->GetAcceptDirection(),$oConge->GetCommentDirection());
   }
 
Je pense que je suis complètement à coté de la plaque alors si qq un peut m aider

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!

vendredi 1 juillet 2005 à 12:20:32 | Re : Insert et classe

coucou747

Administrateur CodeS-SourceS
salut
t'as une classe complète sans aucun commentaire, on n'arrive pas bien à voir quelle fonction fait quoi... C'est pas super pratique quand on a besoin d'aide...

  $Query = 'INSERT INTO Conges (numero_util, date_demande, date_depart, date_retour,
                                commentaires_util, accept_reponsable, accept_direction, commentaires_direction)
            VALUE ('  . $this->m_numeroConge . ',
                   "' . $this->m_numeroUtil  . '",
                   "' . ReverseDate ($this->m_dateDemande) . '",
                   "' . ReverseDateHeure ($this->m_dateDepart) . '",
                   "' . ReverseDateHeure ($this->m_dateRetour) . '",
                   "' . $this->m_commentUtil . '",
                   "' . $this->m_acceptResp . '",
                   "' . $this->m_acceptDirection . '",
                   "' . $this->m_commentDirection . '")';

déja, ça me parrait plus corect...

ensuite, il y a un petit problème :
  $this->m_pt->query ($Query);

en php4, un objet ne peut pas contennir un autre objet...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

[ Lien ]
mardi 5 juillet 2005 à 11:38:33 | Re : Insert et classe

nagrom_om

Merci bien pour ton aide et dézolé si je ne suis pas clair.

En fait mon plus gros pb c pour la clé primaire de la table qui est  $m_numeroConge vu qu il s agit d'un auto increment. J ai peut etre une idée mais j'ai du mal a la mettre en oeuvre : refaire un select derriere pour le recupéré une fois qu'il a été alloué...

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!

mardi 5 juillet 2005 à 13:01:34 | Re : Insert et classe

nagrom_om

//Voici ma classe Conges :

class CConges
{
 var $m_pt;

 var $m_numeroConge    = -1;
 var $m_numeroUtil    = -1;
 var $m_dateDemande          = "";
 var $m_dateDepart        = "";
 var $m_dateRetour     = "";
 var $m_commentUtil          = "";
 var $m_acceptResp         = false;
 var $m_acceptDirection    = "";
 var $m_commentDirection   = "";
 
 // CONSTRUCTEUR PAR DEFAUT
 function CConges ($_numeroConge = -1)
 {
  $this->m_pt = new dev_SQL; // On se connecte à la base de données
  $this->m_numeroConge = $_numeroConge;

 } // CConges ()


//Voici ma fonction d 'insertion qui est dans la classe CConges

function CreerConge($numeroUtil,$dateDemande,$dateDepart,$dateRetour,
      $commentUtil,$acceptResp,$acceptDirection,$commentDirection)
 {
  $numeroUtil=substr(($numeroUtil), 0, 4);
  $dateDepart=date($dateDepart);
  $commentUtil=" ";
  $commentDirection=" ";
  
  $Query = "INSERT INTO Conges (numero_util, date_demande, date_depart, date_retour,
                                commentaires_util, accept_responsable, accept_direction, commentaires_direction)
            
     
// Les fonctions ReverseDateHeure transforme les dates du format fr au format Postgres
VALUE ("  . $numeroUtil . ",
                   " . ReverseDate($dateDemande) . ",
                   " . ReverseDateHeure($dateDepart) . ",
                   " . ReverseDateHeure($dateRetour) . ",
                   " . $commentUtil . ",
                   " .  $acceptResp . ",
                   " .  $acceptDirection . ",
                   " .  $commentDirectionn . ")";

  $this->m_pt->query ($Query);
  return true;

 } 

ensuite dans mon interface je l appelle comme cela :

// Cas d'une insertion
   if (isset($btnValider) && ($btnValider != ""))
   {
    //$_numeroConge
    
    $oConge->CreerConge($HTTP_SESSION_VARS['IdUtil'], date("d/m/Y"),
    date ("d/m/Y H:i:s",$timestamp_depart_heure),
    date ("d/m/Y H:i:s",$timestamp_retour_heure), " ","t","t"," ");

   }

à l'éxécution j ai un message d 'erreur :

Database error: Invalid SQL: INSERT INTO Conges (numero_util, date_demande, date_depart, date_retour, commentaires_util, accept_responsable, accept_direction, commentaires_direction) VALUE (1, '2005-07-05', 2005-07-05 00:00, 2005-07-06 00:00, , t, t, )
Postgresql ErrorERROR: parser: parse error at or near "value

 Si on observe les valeurs prises il n'y a aucun pb (a moins que postgres ai besoin des secondes de la date mais je ne crois pas ...)

Etant donné que je suis toujours aussi fort en php  , je demande de l aide a qq un qui aurait une idée. Encore une fois desolé si je m exprime mal ....
MERCI !!!!!!!!
Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!

mardi 5 juillet 2005 à 13:11:45 | Re : Insert et classe

coucou747

Administrateur CodeS-SourceS
tes dates doivent être entourées de guillemets.

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

[ Lien ]
mardi 5 juillet 2005 à 14:51:06 | Re : Insert et classe

nagrom_om

Ok c ' est bon... ca venait de la fonction reverseDate qui renvoyait deja une chaine et pas reverseDateHeure  ...
J'aurai si possible une petite question pour comprendre un peu mieux les classes.
Dans cette meme classe CConges j ai une fonction de ce type :

function GetGroupe ()
 {
   //Permet de récupérer le libellé du groupe
   $QueryGroupe = "SELECT libelle
     FROM groupe
     WHERE numero_groupe = (SELECT numero_groupe
      FROM utilisateur
      WHERE numero_util = {$HTTP_SESSION_VARS['IdUtil']});";
   $this->$m_pt->query ($QueryGroupe);
   $TabGroupe= $this->$m_pt->fetch_array();
  return $TabGroupe;
 }//function GetGroupe ()

elle me permet d aller chercher une information dans une autre table.

Mon pb c'est que je ne sais pas comment ecrire le code qui me permet de recuperer ce resultat sur mon IHM.
Je pensais à <?=$oUtil->GetGroupe ()?> mais il me dit qu il ne connait pas fonction GetGroupe...

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!

mardi 5 juillet 2005 à 14:54:04 | Re : Insert et classe

nagrom_om

j ai fait une erreur la fonction est dans une autre classe pas dans CConges...

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!


Cette discussion est classée dans : function, var, return, conges, numeroconge


Répondre à ce message

Sujets en rapport avec ce message

Classe PHP et variable d'instance [ par p0236 ] Bonjour à tous, J'utilise une classe Produit dans laquelle il y a une VI qui est un objet d'une autre classe.Est ce que cela est possible? Si oui, y a Demande aide pour classe. [ par nagrom_om ] J ai besoin d un petit coup de main. Je créé une classe (qui correspond a une table) dans laquelle j insere les methode pour le select et l' insert de Au secours !!! Need help [ par nagrom_om ] J ai besoin d un petit coup de main. Je créé une classe (qui correspond a une table) dans laquelle j insere les methode pour le select et l' insert de Instancier une classe PHP5 dans un tableau Multidimensionnel [ par critters ] Salut tout le monde, dans le cadre d'un stage je dois faire un agenda qui s'alimente directement à partir d'une base de données contenant des interven UML vers PHP [ par sgue35 ] Bonjour, j'aimerai avoir votre avis sur une traduction des relation définies ds le standard UML et leur codage. C'est juste pour moi, je ne veux pas inclusion d'une classe provenant d'un autre fichier [ par lilippx ] salut, je me suis mis au php ce matin mais je bute sur un petit truc (dès le premier jour, ce n'est pas motivant...)je n'arrive pas à instancier un ob page blache [ par flague ] class padl  {    var $HASH_KEY1 = 'KD2bInfMjl9XDOsjx5qXn5Ax66w8frQi6I8QCOta';    var $HASH_KEY2 = 'JZabr6I0aTYT6koV1a9D48zq90vXI1NKDYaqIQjx';    var $ Prolème d'affichage avec google maps en php mysql.... [ par nickbenson ] Bonjour, j'ai un problème d'affichage avec ma base de donnés MYSQL. mon code appel bien les données, mais affiche une carte avec le dernier resultat, Question pour monter de classe ! [ par tibine974 ] Bonjour , Voila je voudrais appeler une fonction à l'intérieur d'une autre fonction. Mais qd je fais cela , il me dit : " Fatal error: Call to undef Classe Connexion.php la plus simple possible .... [ par Tartuffe245 ] Bonjour à tous,J'ai créé une classe connexion pour mon site internet et il se trouve que j'ai une erreur qui revient souvent mais je ne sais pas comme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales