Bonjour,

Voila je rencontre un petit problème avec mon code.
j'ai créer un controlleur "StocksCours" dans lequel j'ai fait une function view , dès que lappel de cette fonction on recupère des données de la base de donnée et on fait l'affichage dans un tableau, avec une boucle foreach j'ai fait plusieur formulaire avec des nom personnalisé selon des id_formation, l'objectif c'est de a chaque ligne du tableau on veut modifier un nombre dans un input text et on fait le sauvegarde après un click sur le bouton..

    <tbody>
    <?php foreach ($stocks as $key => $value): ?>

                    <tr class="hasHover">

                        <td width="25%"> <?php echo $value['StocksCour']['module_formation']; ?> </td>
                        <td width="25%"> <?php echo $value['StocksCour']['nb_stock']; ?> </td>
                        <td width="25%"> <?php echo $form->create('StocksCour'.$value['StocksCour']['id_formation']); 
                                        echo $bouton->add('-', array('id'=>'substract', 'div'=>false));  
                                        echo $v->input('nbr_edit',array('id'=>'nbr_edit', 'label'=>false,
                                                                        'default'=> $value['StocksCour']['nb_stock'], 
                                                                        'div'=>false, 'style'=>'width:30px;'));
                                        echo $bouton->add('+', array('id'=>'add', 'div'=>false)); ?>  
                            <?php echo $v->link('Valider',array( 'controller'=> 'StocksCours', 'action'=>'view'  ),
                                                        array('image'=>'tick.gif','class'=>'button small','post')); 
                                        echo $form->end(); ?>
                    </tr>

<?php endforeach; ?>
    </tbody>

ce que je veux c'est comment récupérer le contenu d'un input text d'un formulaire soit au niveau du controller ou au niveau du model sachant que l'erreur que jai obtenu apres l'instruction
prd($this->data['StocksCour'.$id]);
Undefined index: StocksCour210
MERCI D'AVANCE..

2 réponses


Fredj
Auteur

oui c'est sur,

function view() {
    if(empty($this->data)){

      $stock_cours = ClassRegistry::init('StocksCour');
      $regions = ClassRegistry::init('Region')->find('all', array('fields'=>array('id','title')));
        //$formations = ClassRegistry::init('Formation')->find('all', array('fields'=>array('id'),'conditions'=>array('archived'=>0)));
        $stocks = $stock_cours->getDataByRegion(6);
        $CurrentRegion = 6;
        if(isset($this->params['named']['region'])){
            $stocks = $stock_cours->getDataByRegion($this->params['named']['region']);
            $CurrentRegion = $this->params['named']['region'];
        }
        $this->set(compact('stocks','regions','CurrentRegion'));
      }
      else
        prd('pp');
    }

toujouts $this->data est vide !

Bonjour.
Dans la méthode create du helper Form, il te faut indiquer le nom du modèle et non un nom de modèle fantaisiste, contenant le nom du modèle avec un id.
Et puis, tu es sur quelle version de CakePHP ?
Car depuis la V2, les helpers s'utilisent, de la manière : $this->Form->create(...) et non $form->create.
Surtout que tu utilises des variables inexistantes/non définies, par exemple la variable $v alors qu'à mon avis tu voulais utiliser la méthode input du helper Form.