/[openfoncier]/trunk/obj/utils.class.php
ViewVC logotype

Diff of /trunk/obj/utils.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2304 by softime, Thu Sep 12 10:14:50 2013 UTC revision 2305 by softime, Tue Sep 17 14:53:07 2013 UTC
# Line 615  class utils extends application { Line 615  class utils extends application {
615          }          }
616      }      }
617    
618        /**
619         * Permet de vérifier que des champs existe dans une table
620         * @param  array  $list_fields Liste des champs à tester
621         * @param  string $table       Table où les champs doivent exister
622         * @return mixed               Retourne les champs qui n'existent pas
623         *                             ou true
624         */
625        public function check_field_exist($list_fields, $table) {
626    
627            // Requête SQL pour récupérer le nom des colonnes
628            $sql = "SELECT column_name
629                    FROM information_schema.columns
630                    WHERE table_schema = '".substr(DB_PREFIXE, 0, -1)."'
631                    AND table_name = '".$table."'
632                    ORDER BY ordinal_position";
633            $this->addToLog("check_field_exist() : db->query(\"".$sql."\")", VERBOSE_MODE);
634            $res = $this->db->query($sql);
635            $this->isDatabaseError($res);
636    
637            // Tant qu'il y a un résultat
638            while ($row = &$res->fetchRow(DB_FETCHMODE_ASSOC)) {
639                
640                // Le nom de la colonne est mise dans un tableau
641                $list_column[] = $row['column_name'];
642            }
643    
644            // Tableau des champs en erreur
645            $error_fields = array();
646    
647            // Pour chaque champ à tester
648            foreach ($list_fields as $value) {
649                
650                // S'il n'apparaît pas dans la liste des champs possible
651                if (!in_array($value, $list_column)) {
652    
653                    // Alors le champ est ajouté au tableau des erreurs
654                    $error_fields[] = $value;
655                }
656            }
657    
658            // Si le tableau des erreurs n'est pas vide on le retourne
659            if (count($error_fields) > 0) {
660                return $error_fields;
661            }
662    
663            // Sinon on retourne le booléen true
664            return true;
665    
666        }
667    
668  }  }
669    
670  ?>  ?>

Legend:
Removed from v.2304  
changed lines
  Added in v.2305

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26