IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

probleme d une instance


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut probleme d une instance
    Bonjour,

    en premier je debute sous symfony plus l'orienté objet vos conseil sont les biens venus.

    quand j'essaye d'exectuer une methode d'une classe tiers_signal dans d une autre classe recherche je recois le message suivant:
    Classe Recherche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <?php
     
    /**
     * recherche actions.
     *
     * @package    hennessy
     * @subpackage recherche
     * @author     Atos Origin
     * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
     */
    class rechercheActions extends hennessyActions {
     
    	/**
    	 * Executes index action
    	 *
    	 * @param sfRequest $request A request object
    	 */
    	public function executeIndex(sfWebRequest $request) {
    		//$this->forward404Unless($utilisateur = Doctrine_Core::getTable('UTILISATEUR')->find(array($request->getParameter('ut_code'))), sprintf('Object utilisateur does not exist (%s).', $request->getParameter('ut_code')));
    		$this->form = new RechercheForm();
    	}
     
    	public function executeRecherche(sfWebRequest $request) {
     
    /*		$ra_numero = $request->getParameter('ra_numero');
    		$ra_motdir = $request->getParameter('ra_motdir');
    		$ts_numtiers = $request->getParameter('ts_numtiers');
    		$ts_motdir = $request->getParameter('ts_motdir');
    		//RG??
    		if(($ts_motdir!="" || $ts_numtiers!="")&&($ra_motdir!="" || $ra_numero!="")){
    			$this->redirect('recherche/index?error=001');
    		}
    		//RG??
    		if($ts_motdir=="" && $ts_numtiers=="" && $ra_motdir=="" && $ra_numero==""){
    			$this->redirect('recherche/index?error=002');
    		}
    		$q="SELECT t1.ra_numero,
    			  t1.ra_nom,
    			  t2.ts_numtiers,
    			  t1.ra_motdir,
    			  t2.ts_raisoc,
    			  t3.fi_filiere,
    			  t4.fi_nom,
    			  t3.te_adrred,
    			  t2.ts_codpost,
    			  t2.ts_ville
    			FROM rapprochement t1,
    			  tiers_signal t2,
    			  tiers_edv t3,
    			  filiere t4
    			WHERE t1.ra_numero = t3.ra_numero
    			 AND t2.ts_numtiers = t3.ts_numtiers
    			 AND t3.fi_filiere = t4.fi_filiere(+)
    			 ";
    		if($ra_numero != ""){
    			 $q.="AND UPPER(t1.ra_numero) = '".strtoupper($ra_numero)."'
    			 ";
    		}
    		if($ra_motdir != ""){
    			 $q.="AND UPPER(t1.ra_motdir) like '%".strtoupper($ra_motdir)."%'
    			 ";
    		}
    		if($ts_numtiers != ""){
    			 $q.="AND UPPER(t2.ts_numtiers) = ".$ts_numtiers."
    			 ";
    		}
    		if($ts_motdir != ""){
    			 $q.="AND UPPER(t2.ts_numtiers) like '%".strtoupper($ts_motdir)."%'
    			 ";
    		}
    		$q.="ORDER BY ts_numtiers";
    		
    		$this->tiers_edv = Doctrine_Manager::getInstance()->connection()->execute($q)->fetchAll();
    		$this->nb = count($this->tiers_edv);
    		//RG??
    		if ($this->nb == 1){
            	$this->redirect('recherche/selectiontiers?ts_numtiers='.$this->tiers_edv[0]['TS_NUMTIERS']);
            }
            //RG??
    		if (count($this->tiers_edv) > sfConfig::get('app_'.$this->getModuleName().'_max_result')){
            	$this->redirect('recherche/index?error=003');
            }
         */
             $objte = new tiers_signalActions();
             $objte->executeShow($request);
     
     
     
        }
     
    public function executeSelectiontiers(sfWebRequest $request) {
     
    		$this->forward404Unless($request->getParameter('ts_numtiers'));
    		$this->getUser()->setAttribute('ts_numtiers',$request->getParameter('ts_numtiers'));
            $this->redirect('fournisseur/index');
     
        }
     
    }

    classe Tiers_signal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <?php
     
    /**
     * tiers_signal actions.
     *
     * @package    hennessy
     * @subpackage tiers_signal
     * @author     Atos Origin
     * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
     */
     class tiers_signalActions extends hennessyActions
    {
     
     
     
      public function executeIndex(sfWebRequest $request)
      {
        $this->tiers_signals = Doctrine_Core::getTable('tiers_signal')
         ->createQuery('a')
         ->execute();
        $this->rapprochements = Doctrine_Core::getTable('rapprochement')->execute();
        $this->tiers_edvs = Doctrine_Core::getTable('tiers_edv')->execute();
     
     
      }
     
     
      public function executeShow(sfWebRequest $request)
      {
      	 print('je suis 122');
     
     
     
      	    $ra_numero = $request->getParameter('ra_numero');
      	    $ra_motdir = $request->getParameter('ra_motdir');
      	    $ts_numtiers = $request->getParameter('ts_numtiers');
      	    $ts_motdir = $request->getParameter('ts_motdir');
     
     
     
     
      	    print($ts_numtiers);
     
      	    if($ra_numero != ""){
      	    	$this->rapprochement = Doctrine_Core::getTable('rapprochement')->find(array($ra_numero));
      	    	$this->tiers_edv = Doctrine_Core::getTable('tiers_edv')->find(array($ra_numero));
          	  $this->tiers_signal = Doctrine_Core::getTable('tiers_signal')->find(array($this->tiers_edv->getTsNumTiers()));
     					}
    		elseif ($ra_motdir != ""){
     
    		}
    		elseif($ts_numtiers != ""){
    					print ('oo');
     
    			 $this->tiers_signal = Doctrine_Core::getTable('tiers_signal')->find(array($request->getParameter('ts_numtiers')));
                  $this->tiers_edv = Doctrine_Core::getTable('tiers_edv')->find(array($request->getParameter('ts_numtiers')));
                 $this->rapprochement = Doctrine_Core::getTable('rapprochement')->find(array($this->tiers_edv->getRaNumero()));
     
                  print('grrrrrrrrrrrrrr');
    		}
    		elseif ($ts_motdir != ""){
     
     
    		}
     
     
        $this->forward404Unless($this->tiers_signal);
     
     
      }
     
      public function executeNew(sfWebRequest $request)
      {
      //  $this->form = new tiers_signalForm();
      }
     
      public function executeCreate(sfWebRequest $request)
      {
    /*    $this->forward404Unless($request->isMethod(sfRequest::POST));
    
        $this->form = new tiers_signalForm();
    
        $this->processForm($request, $this->form);
    
        $this->setTemplate('new');*/
      }
     
      public function executeEdit(sfWebRequest $request)
      {
        $this->forward404Unless($tiers_signal = Doctrine_Core::getTable('tiers_signal')->find(array($request->getParameter('ts_numtiers'))), sprintf('Object tiers_signal does not exist (%s).', $request->getParameter('ts_numtiers')));
        $this->form = new tiers_signalForm($tiers_signal);
      }
     
      public function executeUpdate(sfWebRequest $request)
      {
        $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT));
        $this->forward404Unless($tiers_signal = Doctrine_Core::getTable('tiers_signal')->find(array($request->getParameter('ts_numtiers'))), sprintf('Object tiers_signal does not exist (%s).', $request->getParameter('ts_numtiers')));
        $this->form = new tiers_signalForm($tiers_signal);
     
        $this->processForm($request, $this->form);
     
        $this->setTemplate('edit');
      }
     
      public function executeDelete(sfWebRequest $request)
      {
       /* $request->checkCSRFProtection();
    
        $this->forward404Unless($tiers_signal = Doctrine_Core::getTable('tiers_signal')->find(array($request->getParameter('ts_numtiers'))), sprintf('Object tiers_signal does not exist (%s).', $request->getParameter('ts_numtiers')));
        $tiers_signal->delete();
    
        $this->redirect('tiers_signal/index');*/
      }
     
      protected function processForm(sfWebRequest $request, sfForm $form)
      {
        $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
        if ($form->isValid())
        {
          $tiers_signal = $form->save();
     
      //    $this->redirect('tiers_signal/edit?ts_numtiers='.$tiers_signal->getTsNumtiers());
     
        }
      }
    }
    Message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Warning: Missing argument 1 for sfComponent::__construct(), called in D:\wamp\www\hennessy\apps\frontend\modules\recherche\actions\actions.class.php on line 86 and defined in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 36
     
    Warning: Missing argument 2 for sfComponent::__construct(), called in D:\wamp\www\hennessy\apps\frontend\modules\recherche\actions\actions.class.php on line 86 and defined in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 36
     
    Warning: Missing argument 3 for sfComponent::__construct(), called in D:\wamp\www\hennessy\apps\frontend\modules\recherche\actions\actions.class.php on line 86 and defined in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 36
     
    Notice: Undefined variable: context in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 38
     
    Notice: Undefined variable: moduleName in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 38
     
    Notice: Undefined variable: actionName in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 38
     
    Fatal error: Call to a member function getEventDispatcher() on a non-object in D:\wamp\www\hennessy\lib\vendor\symfony\lib\action\sfComponent.class.php on line 55


    je sais que c'est un peu long desole merci pour votre aide
    Cordialement,

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne sais pas ce qu'est l'objet parent : hennessyActions qui peut avoir modifier l'objet sfAction dont il semble être un enfant.

    Dans un objet action, tu ne peux pas changer d'action de la manière que tu utilise, il faut repasser par le contrôleur. Tu as deux séries de méthode pour cela les "forward" et les "redirect" la première fait suivre à l'autre action, la deuxième revient à lancer un nouveau GET sur l'action.

    Dans ton cas, je pense qu'il te faut utiliser un forward :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->forward('tiers_signalActions ', 'show');

Discussions similaires

  1. au secour probleme avec une requete...
    Par soufiane59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/09/2003, 10h28
  2. [VB6]Passer le focus à une instance précedente
    Par Jeremiah dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 16/09/2003, 10h01
  3. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51
  4. Probleme dans une clause like !
    Par adil dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/07/2003, 16h47
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo