Bonjour,
Jusque là, tout allait assez bien dans mon programme.
Je n'avais jusque là que deux communes dans la table, ce qui me suffisait pour tester.
J'ai ajouté les 36680 autres communes françaises et je me retrouve avec une belle erreur :
Sur le formulaire, j'ai deux Zend_Form_Element_Select pour choisir la commune.Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /var/www/html/stagmas/library/Zend/Db/Table/Abstract.php on line 886
Je pense que le problème vient de là et c'est vrai que 36682 communes dans la liste, ça fait beaucoup mais bon... il me semble avoir déjà vu des sites afficher un gros flot de données.
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 // Commune de résidence de l'étudiant $id_commune_residence = new Zend_Form_Element_Select('id_commune_residence'); $id_commune_residence ->setLabel('Commune de résidence') ->setRequired(true); $commune = new Application_Model_DbTable_Commune(); $result = $commune->fetchAll(); $listecommunes = array(); foreach($result as $cmn) { $listecommunes[$cmn->cmn_id] = $cmn->cmn_nom; } $id_commune_residence->setMultiOptions($listecommunes); // Commune de l'établissement d'origine $id_commune_etablissement = new Zend_Form_Element_Select('id_commune_etablissement'); $id_commune_etablissement ->setLabel('Commune') ->setRequired(false) ->setMultiOptions($listecommunes);
Je vais passer ça en Zend_Dojo_Form_Element_FilteringSelect quand j'aurais déjà résolu mon petit problème de mise en forme sur ce genre de truc en Dojo mais si c'est pour que la page ne s'affiche pas...
J'ai passé le memory-limit de /etc/php.ini à 128M mais ça n'a fait qu'augmenter le nombre affiché par le message d'erreur.
Une idée pour résoudre ce problème ?
Partager