Ho un'app Web che utilizza ajax per filtrare i risultati del db. Pertanto, se si dispone di un elenco di 1000 widget, con ID compresi tra 1-1000, digitando numeri nel campo ID, è possibile restringere la ricerca. Digitando il numero 9 si interroga automaticamente il db per restituire solo i record che hanno un id che inizia con 9 ecc ... Lo stesso tipo di funzione esiste per i nomi dei widget.
Ecco come appare il codice in parte, per quanto riguarda le query:
get_widgets = function(id, name)
local sql
if name==nil and id==nil then
sql = "SELECT * FROM widgets"
elseif addr == nil then
sql = "SELECT * FROM widgets WHERE id LIKE '"..id.."%'"
elseif tn==nil then
sql = "SELECT * FROM widgets WHERE name LIKE '"..name.."%'"
else
sql = "SELECT * FROM widgets WHERE id LIKE '"..id.."%' AND name LIKE '"..name.."%'"
end
... logic to connect to db and execute query.
end
Basta chiedersi se c'è un modo più elegante per farlo. o se quello che ho è ok.