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 :

formulaire imbriqué


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2011
    Messages : 444
    Par défaut formulaire imbriqué
    bonjour,
    j'etulise un formulaire qui imbrique 2 module Kk et Client tous se passe bien pour l'affichage et sauvgarde mais pour la modification j'ai mis une fonction qui me retourne tous les donné des 2 table mais il y'a un probléme The "ClientForm" form only accepts a "Client" object.
    voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     function modifier(){
            $liste_news = Doctrine_Query::create()
    		->from('Client')
    		->leftJoin('Client.Kk')
                    ->where('hh=2')
                    ->andWhere('Client.id = ?', 2);
     
           return $liste_news->execute();
        }
    et voici l'apple depuis actions.class.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     public function executeEdit(sfWebRequest $request)
      {
          $c=Doctrine::getTable('Client')->modifier();
          $this->form = new ClientForm($c);
      }
    et mon schéma :
    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
    Client:
      connection: doctrine
      tableName: client
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        nom:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        prenom:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
       relations:
       Kk:
          local: id
          foreign: id
          type: many
        Kk:
      connection: doctrine
      tableName: kk
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        nom:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        date:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        hh:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
      relations:
        Client:
          local: id
          foreign: id
          type: one
    merci

  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
    Lors de instanciation de l'objet ClientForm, il vérifie que l'objet de données donné en argument est bien de la classe déclarée (par getModelName défini dans lib/model/doctrine/base/BaseClient.class.php.

    La méthode retourne un nom qui me semble normal.

    Par contre ta requête, elle, ne retourne pas une instance de lib/model/doctrine/client.class.php

    Essayes avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #clientTable.class.php (non testé)
    function modifier(){
      return Doctrine_Core::getTable('Client')
                ->createQuery('c')
                ->leftJoin('c.Kk')
                ->where('c.hh=2')
                ->andWhere('c.id = ?', 2)
                ->execute();
    }
    Quoique, à mon avis, le problème provient de leftJoin(''). A vérifier.

  3. #3
    Membre éclairé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2011
    Messages : 444
    Par défaut
    merci. mais la requette s'marche bien déja tester je croi que le probléme vient de la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class ClientForm extends BaseClientForm
    {
      public function configure(){
     
    foreach ($this->object['Kk'] as $index=>$Kk)
        {
          $this->embedForm('gg', new KkForm($Kk));
     
        }
    et dans _form voici un extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      <tr>
            <th><?php echo $form['prenom']->renderLabel() ?></th>
            <td>
              <?php echo $form['prenom']->renderError() ?>
              <?php echo $form['prenom'] ?>
            </td>
          </tr>
                <tr>
            <td>
              <?php echo $form['gg']->renderError() ?></td>
            <td>  <?php echo $form['gg'] ?>
            </td>
          </tr>

  4. #4
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par défaut
    Ta requête te retourne le bon résultat mais visiblement pas au bon format.
    As-tu essayé sachant que tu ne veux retourner qu'un seul objet client, de remplacer execute() par fetchOne() ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2011
    Messages : 444
    Par défaut
    merci.oui j'ai déja essayé d'une facon direct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      public function executeEdit(sfWebRequest $request)
      {
         $client = Doctrine_Query::create()
    		->from('Client')
    		->leftJoin('Client.Kk')
                    ->where('hh=2')
                    ->andWhere('Client.id = ?', 2)
               ->fetchOne();
     
       $this->form = new ClientForm($client);
     
      }

  6. #6
    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
    Et ?

Discussions similaires

  1. [Struts] - Déclenchement d'une action dans un formulaire imbriqué
    Par Dabat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/03/2009, 15h14
  2. Parcour des getElementById dans un formulaire imbriqué ?
    Par DrySs dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/10/2007, 19h03
  3. formulaire imbriquer + popup
    Par luan220 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/10/2007, 12h11
  4. Probleme Formulaire imbriques
    Par gloglo dans le forum Struts 1
    Réponses: 10
    Dernier message: 30/08/2006, 20h30
  5. formulaire imbriqué
    Par jani dans le forum Langage
    Réponses: 9
    Dernier message: 18/01/2006, 15h40

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