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

Zend Framework PHP Discussion :

Récupération d'id dans un formulaire


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Par défaut Récupération d'id dans un formulaire
    Salut tout le monde !

    Je rencontre un (très) petit soucis depuis plusieurs jours déjà ...

    Je m'explique :
    j'ai créé un formulaire d'ajout de commande qui fonctionne à merveilles

    Maintenant j'aimerais pouvoir ajouter des informations à ma commande (ce qui à été commandé).
    pour cela, j'ai créé une page html qui contient une section de recherche ainsi qu'un deuxième formulaire.
    jusque la tout va bien.

    j'ai fait pointer le this->redirect de mon ajout de commande vers cette page phtml comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->_redirect('/index/comfac');
    dessus

    le problème c'est que je n'arrive pas à récupérer l'id de ma commande.

    Quelqu'un sait il comment faire ??

    d'avance les amis !!

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Et quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $form = new My_Model_Form();
     
    $id = form->getValue('id');
    ?

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Par défaut
    ou dois-je placer ceci ?? dans mon indexcontroller ?? ?

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Ok, désolé j'avais encore mal lu

    L'id de ta dernière commande insérée en base ?

    Pourquoi n'utilises tu pas un modèle de ta table avec un select() "traditionnel" ?

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Par défaut
    je me suis mal exprimé à mon tour

    je remplis un formulaire de commande appelé formulaireCommande qui contient les infos comme le nom de l'agence, le libellé de la commande etc ...

    en bas de celui ci j'ai un bouton submit
    FormulaireCommande.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $submit = new Zend_Form_Element_Submit('submit');
    		$submit->setAttrib('id', 'submitbutton');
    		$this->addElements(array($id,$agence_commande, $libelle_commande, ... , $submit));
    dans mon indexcontroller.php maintenant je fais ceci :
    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
     
    function ajoutercommandeAction()
    	{
    		$this->view->title = "Ajouter une commande";
    		$form = new FormulaireCommande();
    		$form->submit->setLabel('Etape suivante =>');
    		$this->view->form = $form;
    			if ($this->_request->isPost()) 
    			{
    				$formData = $this->_request->getPost();
    				if ($form->isValid($formData)) 
    				{
    					$Commande = new Commandes();
    					$row = $dossier->createRow();
    					$row->agence_commande = $form->getValue('agence_commander');
    					$row->libelle_commande = $form->getValue('libelle_commande');
     
    					$row->save();
    					$this->_redirect('/index/comfac');
    				} 
    				else 
    				{
    					$form->populate($formData);
    				}
    			}
    	}
    ce que je lui demande c'est de me rediriger vers l'étape suivant qui doit me permettre d'ajouter des pièces à ma commande de cette manière :
    indexcontroller.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		$this->view->title = "Ajout de pieces pour une facture";
    		$form = new FormulaireComFac();
    		$id = (int)$this->_request->getParam('id');
     
    		$this->view->form = $form;
    comfac.phtml
    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
     
    <html>
    	<head>
    		<title>
    			<?php echo $this->escape($this->title); ?>
    		</title>
    	</head>
    	<form id="form">
    			<fieldset>
    			<LEGEND>Recherche</LEGEND> 
    				<span>
    					Fournisseur :
    					<?php 
    						echo $this->formText("suggestBoxFournisseurpiece", "Tapez les premi鳥s lettres pour une suggestion", array('size'=>'53','class'=>'estompe'))
    					?>
    					Piece :
    					<?php
    						echo $this->formText("suggestBoxPrestationpiece", "Tapez les premi鳥s lettres pour une suggestion", array('size'=>'53','class'=>'estompe'))
    					?>
    				</span>
    			</fieldset>
    	</form>
     
     
    		<fieldset><LEGEND>R&eacute;sultats</LEGEND> 				
    				<DIV id="fournisseurs">	
    				</DIV>
    		</fieldset>		
     
    	<body>	
    		<?php echo $this->form ;?>
     
    	</body>
    </html>

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 118
    Par défaut
    Cyrux,

    C'est ta logique qui n'est pas bonne :
    - Tu as un formulaire pour ton entête de commande, que tu sauves.
    - Puis tu as un autre formulaire pour saisir les articles de ta commandes.

    Il faut bien un lien entre ta commande et la liste des articles de cette commande (voir ta BDD)

    Pour ton premier formulaire (entête de commande) tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    $row->save();
    $this->_redirect('/index/comfac');
    ....
    Quand tu save, il faut récupérer l'identifiant (autoincrémenter je pense) de la commande, puis la passer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->_redirect('/index/comfac/id/ID_Commande');
    Si cela peux t'aider

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 20/02/2011, 18h17
  2. Réponses: 2
    Dernier message: 27/08/2009, 15h20
  3. récupération de données dans un formulaire
    Par zougna dans le forum IHM
    Réponses: 4
    Dernier message: 14/05/2007, 10h18
  4. [MySQL] Récupération de données dans un formulaire via un select
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/12/2006, 17h41
  5. Récupération de variable dans un Formulaire
    Par dunbar dans le forum Langage
    Réponses: 5
    Dernier message: 30/11/2006, 20h00

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