Module:Id increment: Difference between revisions

From Visual Data Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
     local maxNumber = 0
     local maxNumber = 0


     -- Abfrage an die Datenbank (MediaWiki-Standardtabelle 'page')
     -- Loop durch die möglichen Seitennummern und suche die höchste
     local result = mw.site.stats.pagesInCategory({
     for i = 1, 10000 do  -- Du kannst die Obergrenze anpassen, je nach Bedarf
         title = "Projekt",
         local pageTitle = "Projekt/" .. i
         namespace = 0
         local pageExists = mw.title.new(pageTitle)
    })


    -- Überprüfe das Ergebnis
         if not pageExists.exists then
    for _, page in ipairs(result.pages) do
             maxNumber = i - 1
         local _, _, number = string.find(page.title, "Projekt/(%d+)")
             break
       
        -- Überprüfe, ob eine Zahl gefunden wurde
        if number then
             local currentNumber = tonumber(number)
             maxNumber = math.max(maxNumber, currentNumber)
         end
         end
     end
     end

Revision as of 09:09, 12 March 2024

Documentation for this module may be created at Module:Id increment/doc

-- Funktion, um die höchste Zahl in der Struktur "Projekt/1", "Projekt/2", usw. zu finden
function findMaxProjectNumber()
    local maxNumber = 0

    -- Loop durch die möglichen Seitennummern und suche die höchste
    for i = 1, 10000 do  -- Du kannst die Obergrenze anpassen, je nach Bedarf
        local pageTitle = "Projekt/" .. i
        local pageExists = mw.title.new(pageTitle)

        if not pageExists.exists then
            maxNumber = i - 1
            break
        end
    end

    return maxNumber
end

-- Beispielaufruf der Funktion
local maxNumber = findMaxProjectNumber()
local nextNumber = maxNumber + 1

-- Gib die nächste verfügbare Nummer aus
print("Die nächste verfügbare Projekt-ID ist: Projekt/" .. nextNumber)