コード例 #1
0
/**
 * Compute all completenames of Dropdown Tree table
 *
 * @param $table : dropdown tree table to compute
 *
 * @return nothing
**/
function regenerateTreeCompleteName($table)
{
    global $DB;
    $query = "SELECT `id`\n             FROM `{$table}`";
    $result = $DB->query($query);
    if ($DB->numrows($result) > 0) {
        while ($data = $DB->fetch_assoc($result)) {
            list($name, $level) = getTreeValueName($table, $data['id']);
            $query = "UPDATE `{$table}`\n                   SET `completename` = '" . addslashes($name) . "',\n                       `level` = '{$level}'\n                   WHERE `id` = '" . $data['id'] . "'";
            $DB->query($query);
        }
    }
}
コード例 #2
0
/**
 * Compute completename of Dropdown Tree table under the element of ID $ID
 *
 * @param $table : dropdown tree table to compute
 * @param $ID : root ID to used : regenerate all under this element
 *
 * @return nothing
**/
function regenerateTreeCompleteNameUnderID($table, $ID)
{
    global $DB;
    $parentIDfield = getForeignKeyFieldForTable($table);
    list($name, $level) = getTreeValueName($table, $ID);
    $query = "UPDATE `{$table}`\n             SET `completename` = '" . addslashes($name) . "',\n                 `level` = '{$level}'\n             WHERE `id` = '{$ID}'";
    $DB->query($query);
    $query = "SELECT `id`\n             FROM `{$table}`\n             WHERE `{$parentIDfield}` = '{$ID}'";
    $result = $DB->query($query);
    if ($DB->numrows($result) > 0) {
        while ($data = $DB->fetch_array($result)) {
            regenerateTreeCompleteNameUnderID($table, $data["id"]);
        }
    }
}