Ejemplo n.º 1
0
/**
 * Charge dans $_SESSION les valeurs des champs du recordset
 * /!\ Cette fonction ne doit plus être utilisée /!\
 * @deprecated since version 3.0
 * @param string $paramTableName nom de la table dont il faut charger le recordset
 */
function mysql_table_load($paramTableName)
{
    $KeyValue = $_SESSION[DatabaseDescription::getTableKeyName($paramTableName)];
    if ($KeyValue) {
        $recordset = new DatabaseRecord($paramTableName, $KeyValue);
        $fields = $recordset->getFieldsArray();
        foreach ($fields as $key => $value) {
            /**
             * Exportation de la valeur de la variable dans
             * Une variable globale accessible hors de la fonction
             * Formatage des données pour préparation à intégration dans MySQL
             * 
             * TRES TRES SALE !!
             */
            $GLOBALS[$key] = $value;
        }
    }
    return $recordset;
}
 /**
  * Retourne le nom de la clef
  * @return string Nom de la clef
  */
 public function getKeyName()
 {
     return DatabaseDescription::getTableKeyName($this->getTableName());
 }
Ejemplo n.º 3
0
 /**
  * Retourne les champs dont la valeur est différentes entre 2 enregistrement<br>
  * en base de données.
  * @param string $paramTableName1 nom de table de l'enregistrement N°1
  * @param string $paramKeyValueTable1 valeur de la clef de l'enregistrement N°1
  * @param string $paramKeyValueTable2 valeur de la clef de l'enregistrement N°2
  * @param string $paramTableName2 nom de table de l'enregistrement N°2 (optionnel)
  * @return array Tableau contenant la liste des noms des champs différents
  */
 public static function getArrayFieldsNameForDiffRecords($paramTableName1, $paramKeyValueTable1, $paramKeyValueTable2, $paramTableName2 = NULL)
 {
     if ($paramKeyValueTable2 == NULL) {
         return FALSE;
     }
     /**
      * Si la seconde table n'a pas été communiquée, on considère que les 
      * 2 clefs font référence à la même table, la première.
      */
     if ($paramTableName2 == NULL) {
         $paramTableName2 = $paramTableName1;
     }
     /**
      * Récupération de l'enregistrement n°1
      */
     $fieldsArray1 = self::convertSqlStatementFirstRowToArray(self::queryPDO('SELECT ' . $paramTableName1 . '.* FROM ' . $paramTableName1 . ' WHERE ' . DatabaseDescription::getTableKeyName($paramTableName1) . '=' . $paramKeyValueTable1));
     /**
      * Récupération de l'enregistrement n°1
      */
     $fieldsArray2 = self::convertSqlStatementFirstRowToArray(self::queryPDO('SELECT ' . $paramTableName2 . '. FROM ' . $paramTableName2 . ' WHERE ' . DatabaseDescription::getTableKeyName($paramTableName2) . '=' . $paramKeyValueTable2));
     /**
      * Construction du tableau des différences
      */
     return DatabaseOperation::getArrayFieldsNameForDiffFieldsValue($fieldsArray1, $fieldsArray2);
 }
 /**
  * Le champs est-il de type clef primaire ?
  * @param mixed $paramTableName
  * @param mixed $paramFieldName
  * @return boolean
  */
 public static function isFieldPrimaryKey($paramTableName, $paramFieldName)
 {
     $return = false;
     if (DatabaseDescription::getTableKeyName($paramTableName) == $paramFieldName) {
         $return = true;
     }
     return $return;
 }