CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 04-06-2015 14:01:22

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

[RESOLU]CakePHP saving array date to database

Hi
I have a table that contains the days of months, and I would like to store values associated with each day,using cakephp
thank you for your help

Dernière modification par monzinsof (08-07-2015 12:16:40)

Hors ligne

 

#2 04-06-2015 16:09:05

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

Hi,
before answer, can you confirm that your problem is resolved here please ? :
http://forum.cakephp-fr.org/viewtopic.php?id=7381

Thanks you
regards


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#3 04-06-2015 16:25:20

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

c'est fait

Hors ligne

 

#4 04-06-2015 16:33:01

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

cool merci, je n'ai pas trop compris ta question, tu désires stocker des valeurs associées à un jour du mois ?


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#5 04-06-2015 16:35:11

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

j'ai un tableau de date par mois et chaque jour représente une collone qui contient plusieurs input number , je veux  savoir est ce qu'il ya une possibilité que ce tableau se stock dans un champ dans la base de donnée .

voila un lien pour la vue .
merci


https://www.facebook.com/photo.php?fbid … mp;theater

Hors ligne

 

#6 04-06-2015 18:19:30

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

je suis debutant en cakephp et je ne sais pas comment faire pour stocker ce tableau .
merci

Hors ligne

 

#7 04-06-2015 18:26:36

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

Est-ce que ton nombre de lignes par jour est fixe ou dynamique ?


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#8 04-06-2015 18:30:01

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

c'est fixe ; j'essay d'intégrer le plugin jquery calendrier, pour etre dynamic

Hors ligne

 

#9 04-06-2015 18:32:07

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

A quoi correspondent les lignes ?


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#10 04-06-2015 18:35:47

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

chaque ligne correspond à un type d'absence

Hors ligne

 

#11 04-06-2015 18:41:32

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

tu as plusieurs solutions :
- la moins bonne, mais la plus rapide :
tu créé une table agenda, avec une colonne date, et une colonne par type d'absence (de type INT)
dans ta vue ton form devra être de ce type :
input.0.date = xxx
input.0.absence1 = xxx
input.0.absence2 = xxx
et après avec un saveAll ça passe tout seul.

- tu fais un truc plus propre, mais plus long : une table agenda avec les dates, une table absences qui contiendra le type d'absence, et une table absences_agendas qui fera la jointure entre les 2 (hasAndBelongsTo)
côté formulaire, ca sera un peu plus chaud à faire par contre.


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#12 04-06-2015 18:48:11

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

Un merci spécial pour votre aide. smile smile smile , je commence votre solution

Hors ligne

 

#13 04-06-2015 19:43:12

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

Code: php

  1.        <table class="tablesaw" data-tablesaw-mode="swipe">
  2.       <thead>
  3.         <tr>
  4.           <th class="title" scope="col" data-tablesaw-sortable-col data-tablesaw-priority="persist">Absences</th>
  5.           <th scope="col" data-tablesaw-sortable-col data-tablesaw-sortable-default-col data-tablesaw-priority="3">01-06-2015</th>
  6.           <th scope="col" data-tablesaw-sortable-col data-tablesaw-priority="2">02-06-2015</th>
  7.           <th scope="col" data-tablesaw-sortable-col data-tablesaw-priority="1">03-06-2015</th>
  8.          
  9.  
  10.         </tr>
  11.       </thead>
  12.       <tbody>
  13.         <tr>
  14.           <td class="title"><a>Mission</a></td>
  15.           <td><input .0.date = xxx type="number" step="0.5" style="width:35px;"value="0" min="0" max="1"></td>
  16.                     <td><input type="number" step="0.5" style="width:35px;"value="0" min="0" max="1"></td>
  17.                     <td><input type="number" step="0.5" style="width:35px;"value="0" min="0" max="1"></td>
  18.                  
  19.  
  20.                                    
  21.  
  22.  
  23.  
  24.  
  25.         </tr>
  26.         <tr>
  27.           <td class="title"><a>absence</a></td>
  28.           <td><input type="number" step="0.5" style="width:35px;"value="0" min="0" max="1"></td>
  29.                     <td><input type="number" step="0.5" style="width:35px;"value="0" min="0" max="1"></td>
  30.                     <td><input type="number" step="0.5" style="width:35px;"value="0" min="0" max="1"></td>
  31.      
  32.  
  33.         </tr>
  34.        
  35.        
  36.       </tbody>
  37.     </table>

à quoi ressemble  xxx dans   <input.0.date = xxx , <input.0.absence = xxx et <input.0.mission = xxx

Hors ligne

 

#14 04-06-2015 19:58:18

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

ah oui mais non tu n'y est pas du tout là, regarde içi :
http://book.cakephp.org/2.0/fr/core-lib … des-champs
c'est dans la doc, tu dois utiliser les méthodes données par le helper


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#15 04-06-2015 19:59:58

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

merci

Hors ligne

 

#16 04-06-2015 21:23:34

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

Code: php

  1. table class="tablesaw" data-tablesaw-mode="swipe">
  2.       <thead>
  3.         <tr>
  4.           <th class="title" scope="col" data-tablesaw-sortable-col data-tablesaw-priority="persist">Absences</th>
  5.           <th scope="col" data-tablesaw-sortable-col data-tablesaw-sortable-default-col data-tablesaw-priority="3"><?php echo $this->Form->input('Clas.0.date');?></th>
  6.           <th scope="col" data-tablesaw-sortable-col data-tablesaw-priority="2"><?php echo $this->Form->input('Clas.1.date');?></th>
  7.           <th scope="col" data-tablesaw-sortable-col data-tablesaw-priority="1"><?php echo $this->Form->input('Clas.2.date');?></th>
  8.          
  9.  
  10.         </tr>
  11.       </thead>
  12.       <tbody>
  13.         <tr>
  14.           <td class="title"><a>Mission</a></td>
  15.           <td><?php echo $this->Form->input('Clas.0.mission');?></td>
  16.                     <td><?php echo $this->Form->input('Clas.1.mission');?></td>
  17.                     <td><?php echo $this->Form->input('Clas.2.mission');?></td>
  18.                  
  19.  
  20.                                  
  21.  
  22.  
  23.  
  24.  
  25.         </tr>
  26.         <tr>
  27.           <td class="title"><a>absence</a></td>
  28.           <td><?php echo $this->Form->input('Clas.0.absence');?></td>
  29.                     <td><?php echo $this->Form->input('Clas.1.absence');?></td>
  30.                     <td><?php echo $this->Form->input('Clas.2.absence');?></td>
  31.      
  32.  
  33.         </tr>
  34.        
  35.        
  36.       </tbody>
  37.     </table>

avec ce code rien ne s'enregistre soit avec save ou avec saveAll , mais lorsque je supprime les (0,1,2) ce code enregistre une seule colonne
est ce que j'ai commit une erreur dans le code ?

Hors ligne

 

#17 04-06-2015 21:38:00

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

c'est un bon début tu es sur la bonne voie, il faut maintenant t'assurer que ta table est bien déclarée, comment tu ouvres ton form ? ($this->Form->create(xxx))


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#18 04-06-2015 21:40:53

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

Code: php

  1. <?php echo $this->Form->create('Clas', array( 'inputDefaults' => array(
  2.     'div' => 'control-group',
  3.     'label' => array(
  4.       'class' => 'control-label'
  5.     ),
  6.     'wrapInput' => 'controls'
  7.   ),
  8.   'class' => 'form-horizontal')); ?>

voila mon code

Hors ligne

 

#19 04-06-2015 21:58:48

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

est ce qu'il n y a pas une possibilité de faire serialize pour tout le tableau comme ça il stock tout le tableau ; maintenant mon code il stock dans une seule colonne ,

Hors ligne

 

#20 04-06-2015 22:15:37

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

Code: php

  1. public function edit($id = null) {
  2.     if (!$this->Clas->exists($id)) {
  3.       throw new NotFoundException(__('Invalid clas'));
  4.     }
  5.     if ($this->request->is(array('post', 'put'))) {
  6.       if ($this->Clas->saveAll($this->request->data)) {
  7.         $_POST['data']['Clas']= mysql_escape_string(serialize($_POST['data']['Clas']));
  8.         var_dump($_POST['data']['Clas']);
  9.         $this->Session->setFlash(__('The clas has been saved.'));
  10.         return $this->redirect(array('action' => 'index'));
  11.       } else {
  12.         debug($this->request->data);
  13.         $this->Session->setFlash(__('The clas could not be saved. Please, try again.'));
  14.       }
  15.     } else {
  16.      
  17.       $options = array('conditions' => array('Clas.' . $this->Clas->primaryKey => $id));
  18.       $this->request->data = $this->Clas->find('first', $options);
  19.     }
  20.   }

meme j'utilise la serialize ile me stock une seule colonne  serialisé sad sad sad sad sad

Hors ligne

 

#21 05-06-2015 14:00:37

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

pour information j'utilise la version de cakephp 2.6.0

Hors ligne

 

#22 05-06-2015 15:43:33

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

en utilisant Hash::expand, tu peux transformer un tableau avec des indices en un tableau dimensionnel, ce qui te permettra avec un foreach de sauvegarder un à un les enregistrements.
A++


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#23 08-06-2015 10:58:20

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

Bonjour , je suis sur la deuxième solution, vous  voulez dire quoi par la table agenda , est ce qu'il va stocké un range de date ?

Hors ligne

 

#24 08-06-2015 11:30:11

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU]CakePHP saving array date to database

Bonjour,
dans la table agenda il n'y a qu'un champ id et un champ date.


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#25 08-06-2015 12:53:43

monzinsof
Brownie
Date d'inscription: 28-04-2015
Messages: 25

Re: [RESOLU]CakePHP saving array date to database

merci

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr