(Created page with "local p = {} local h = {} local cargo = mw.ext.cargo function p.RandomCargoRecord(frame) local getArgs = require('Module:Arguments').getArgs local tableName = h.parseArg(frameArgs[1]) if tableName == nil or tableName == "" then hasErrors = true h.warn("<code>tableName</code> parameter is required") end if hasErrors then return CATEGORY_INVALID_ARGS end local countFields = 'COUNT(*)=total' local countArgs = {} local countResults =...") |
No edit summary |
||
| Line 3: | Line 3: | ||
local cargo = mw.ext.cargo | local cargo = mw.ext.cargo | ||
function p. | function p.randomCargoRecord(frame) | ||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
local tableName = h.parseArg(frameArgs[1]) | local tableName = h.parseArg(frameArgs[1]) | ||
Revision as of 06:34, 27 December 2023
Documentation for this module may be created at Module:RandomCargoRecord/doc
local p = {}
local h = {}
local cargo = mw.ext.cargo
function p.randomCargoRecord(frame)
local getArgs = require('Module:Arguments').getArgs
local tableName = h.parseArg(frameArgs[1])
if tableName == nil or tableName == "" then
hasErrors = true
h.warn("<code>tableName</code> parameter is required")
end
if hasErrors then return CATEGORY_INVALID_ARGS end
local countFields = 'COUNT(*)=total'
local countArgs = {}
local countResults = cargo.query(tableName, countFields, countArgs)
local total = countResults.total
local queryFields = 'game,link'
local countOffset = math.random(1, total)
local args = {
format = table,
fields = queryFields,
limit = 1,
offset = countOffset
}
local result = cargo.query(tableName, fields, args)
for r = 1, #results do
local result = results[r]
return string.format("<h1>%s</h1>", result.link)
end
end