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

Symfony PHP Discussion :

Autocompletion symfony et l'enregistrement en BD [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Par défaut Autocompletion symfony et l'enregistrement en BD
    Bonjour,pour travailler avec autocompletion dans mon formulaire je me suis basé sur le lien suivant ici,tout marche très bien pour l'autocompletion mais le contraire pour l'enregistrement du choix à la base de donnée puisque il enregistre le ID au lieu du mot cherché :


    mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
           $projet= new sfWidgetFormDoctrineJQueryAutocompleter(array(
                        'url' => 'ajaxprojet.html',
                        'model' => 'Project',
                        'method_for_query'=>''
                        
                        ));
    
                $this->setWidget('projet', $projet);
    mon action :

    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
     
     
      public function executeAjax(sfWebRequest $request) 
      {
        $this->getResponse()->setContentType('application/json');
        $choices = array();
        foreach($projects= Doctrine::getTable('projects')->getProfilAutocompletion($request->getParameter('q'), $request->getParameter('limit'))->getData() as $p)
        {
     
          $choices[$p->id_projet] = $p->projet;
        }
        if($projects != array())
        {
          return $this->renderText(json_encode($choices));
        }
      }
    puis dand mon table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
       public function getProfilAutocompletion($q, $limit){
        $dq = Doctrine_Query::create()
                ->select("p.id_projet, p.projet")
                ->from("Projects p")
                ->where("p.projet LIKE ?","%".$q."%")
                ->limit($limit)
                ->orderBy('p.projet ASC');
        return $dq->execute();
      }

    et dans mon vue :

    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
     
             <tr>
                                <th>
                                   Projet :
                                </th>
                                <td>
                                    <?php echo $form['projet']->render(array('class' => ($form['projet']->renderError()) ? 'inp-form-error' : 'inp-form')); ?>
                                </td>
                                <td>
                                    <?php if ($form['projet']->renderError()): ?>
                                        <div class="error-left"></div>
                                        <div class="error-inner"><?php echo $form['projet']->renderError(); ?></div>
                                    <?php endif; ?>
                                </td>
                            </tr>
    Alors à la table "projects" il me retourne "id_projet" au champ "pojet"...,je pense que le problème vient de "method_for_query"(en roug en code)!!

    Une idée??

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    c'est la méthode normal de ce widget, ton schéma ne doit pas être pile poil.

  3. #3
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $choices[$p->id_projet] = $p->projet;
    tu as ta réponse ici pourquoi tu enregistre l'id et non le nom.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Par défaut
    Oui tu es tout à fait raison Kenny,je suis un vrai con,je n'ai pas bien vu et j'ai cru que c'est pour lister les mot recherchés,je te remercie tout passe bien...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Doctrine] Enregistrement sous symfony
    Par leesym dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 27/10/2012, 10h11
  2. Réponses: 11
    Dernier message: 06/07/2010, 20h35
  3. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  4. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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