/** * 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()); }
/** * 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; }