Module:Id increment: Difference between revisions

From Visual Data Wiki
Jump to navigation Jump to search
(Created page with "-- Funktion, um die höchste Zahl in der Struktur "Projekt/1", "Projekt/2", usw. zu finden function findMaxProjectNumber() local maxNumber = 0 -- Abfrage an die Datenbank (MediaWiki-Standardtabelle 'page') local result = mw.ext.mysql.query{ sql = "SELECT page_title FROM page WHERE page_title REGEXP 'Projekt/(%d+)' ORDER BY page_title DESC LIMIT 1" } -- Überprüfe das Ergebnis if result and result[1] and result[1].page_title then...")
 
No edit summary
Line 4: Line 4:


     -- Abfrage an die Datenbank (MediaWiki-Standardtabelle 'page')
     -- Abfrage an die Datenbank (MediaWiki-Standardtabelle 'page')
     local result = mw.ext.mysql.query{
     local result = mw.site.stats.top5000.pages({
         sql = "SELECT page_title FROM page WHERE page_title REGEXP 'Projekt/(%d+)' ORDER BY page_title DESC LIMIT 1"
         limit = 1,
     }
        start = 'Projekt/',
        namespace = 0
     })


     -- Überprüfe das Ergebnis
     -- Überprüfe das Ergebnis
     if result and result[1] and result[1].page_title then
     if result and result[1] then
         local lastPage = result[1].page_title
         local lastPage = result[1].title
         local _, _, number = string.find(lastPage, "Projekt/(%d+)")
         local _, _, number = string.find(lastPage, "Projekt/(%d+)")



Revision as of 09:04, 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

    -- Abfrage an die Datenbank (MediaWiki-Standardtabelle 'page')
    local result = mw.site.stats.top5000.pages({
        limit = 1,
        start = 'Projekt/',
        namespace = 0
    })

    -- Überprüfe das Ergebnis
    if result and result[1] then
        local lastPage = result[1].title
        local _, _, number = string.find(lastPage, "Projekt/(%d+)")

        -- Überprüfe, ob eine Zahl gefunden wurde
        if number then
            maxNumber = tonumber(number)
        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)