sqlite + duda matematica

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hola a todos:

Tengo una duda de tipo matemático, materia que no se me da muy bien del todo o no estoy inspirado porque estoy bloqueado mentalmente. Estoy tratando de crear una lista de tipo autojump mediante listboex usando sqlite:
	        	sQuery = "SELECT * FROM mismapas WHERE id >= 1 AND id <= 15";--Total 15 items o mapas
			tQuery = SQLite.QueryToTable(db, sQuery);
	        	if tQuery.Rows ~= 0 then

					for i=1,tQuery.Rows do
					map1 = tQuery.Data[1]["mapa"];--NOMBRE DE MAPA	
					map2 = tQuery.Data[2]["mapa"];--NOMBRE DE MAPA	
					map3 = tQuery.Data[3]["mapa"];--NOMBRE DE MAPA	
					map4 = tQuery.Data[4]["mapa"];--NOMBRE DE MAPA	
					map5 = tQuery.Data[5]["mapa"];--NOMBRE DE MAPA
					map6 = tQuery.Data[6]["mapa"];--NOMBRE DE MAPA	
					map7 = tQuery.Data[7]["mapa"];--NOMBRE DE MAPA	
					map8 = tQuery.Data[8]["mapa"];--NOMBRE DE MAPA	
					map9 = tQuery.Data[9]["mapa"];--NOMBRE DE MAPA	
					map10 = tQuery.Data[10]["mapa"];--NOMBRE DE MAPA
					map11 = tQuery.Data[11]["mapa"];--NOMBRE DE MAPA	
					map12 = tQuery.Data[12]["mapa"];--NOMBRE DE MAPA	
					map13 = tQuery.Data[13]["mapa"];--NOMBRE DE MAPA	
					map14 = tQuery.Data[14]["mapa"];--NOMBRE DE MAPA	
					map15 = tQuery.Data[15]["mapa"];--NOMBRE DE MAPA		

					setstrings1 = map1 ..", ".. map2 ..", ".. map3 ..", ".. map4 ..", ".. map5;
					setstrings2 = map6 ..", ".. map7 ..", ".. map8 ..", ".. map9 ..", ".. map10;
					setstrings3 = map11 ..", ".. map12 ..", ".. map13 ..", ".. map14 ..", ".. map15;
					end				
				
				end
			
				if section=="Page 1" then
					ListBoxEx.SetVisible("Plugin2", true);
       				ListBoxEx.SetUpdate("Plugin2", false);
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'><b> " .. setstrings1  .. " </b></font>", "Haga click en esta lista-item para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
			      	ListBoxEx.SetItemVisible("Plugin2", nIndex, true);
					ListBoxEx.SetUpdate("Plugin2", true);	
			
				elseif section=="Page 2" then
					ListBoxEx.SetVisible("Plugin2", true);
       				ListBoxEx.SetUpdate("Plugin2", false);
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'> " .. setstrings2  ..  " </b></font>", Haga click en esta lista-item para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
			      	ListBoxEx.SetItemVisible("Plugin2", nIndex, true);
					ListBoxEx.SetUpdate("Plugin2", true);	
	
				elseif section=="Page 3" then
					ListBoxEx.SetVisible("Plugin2", true);
       				ListBoxEx.SetUpdate("Plugin2", false);	
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'> " .. setstrings3  ..  " </b></font>", "Haga click en esta lista-item para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
			      	ListBoxEx.SetItemVisible("Plugin2", nIndex, true);
					ListBoxEx.SetUpdate("Plugin2", true);	
				else
				Application.ExitScript();

				end

Con esto lo que hago es crear varias listas de mapas dentro de cada item en listbox ex de forma que si pincho en una "lista de mapas de la seccion 1" pincho en ese item y me lleva a esa lista hacia otra parte ( puede ser una pagina o otro listboex dentro de la pagina ) en donde aparecen todos los mapas para que tu instales el que quieras...Pero el problema es que pasa si hay muchas secciones y en vez de 15 mapas hay 300 mapas, ¿Cómo hago por ejemplo para que, si ves en el ejemplo que he puesto arriba en etiquetado lua, me salgan por decirlo asi, 3 listas auto-jumpeables con 100 items cada uno a sus correspondiente listbox o pagina con los mapas.

Lo que estoy tratando de hacer es esto:

[img]
http://www.mediafire.com/conv/d4e3b8fba ... 5ccc5g.jpg
[/img]

Como lo hago de forma que salgan listas de 100 en 100 y que al hacer click nos lleve a su listbox ( en el ejemplo es un falso listbox pero bueno eso es lo de menos, porque lo pasare a litsboex en vez de uno fake )?
no funciona el enlace
Mira a ver si ahora funciona sino dimelo

a ver si rula este:
Imagen
Invalid or Deleted File.
ceone, dale al post mio anterior al tuyo a ver si va
jaajaj lo que trata de postear una imagen
pero podeis verlo? sino decidme donde postearlo en otro sitio estoy hasta los huevos del mediafuck jajaja
si veo la imagen ... vamos por faena ... si sabes cuantos mapas son exactamente haz una paginacion con sqlite , osea usa la consulta con "LIMIT" seria algo asi :
"SELECT * FROM mismapas LIMIT 1,100"
Esto te obtiene las 100 primeras consultas empezando por la 1 hasta la 100, las cargas en el list que quieras o creas una tabla para luego usarlas .
Después es lo mismo tres veces pero el start del limit lo empiezas por 100 , ejemplo:
"SELECT * FROM mismapas LIMIT 100,100"


otro bloque... y el ultimo:
"SELECT * FROM mismapas LIMIT 200,100"
con esto ya puedes trabajar con bloque de 100 consulta dentro de 300 datos

Si no sabes cuantos mapas hay haces un COUNT(*) de la tabla y este lo divides entre 100:
res="SELECT COUNT(*) FROM mismapas"
numero_Bloques=Math.Round(res/100,0);
y sabes cuantos bloques son , haces un bucle con ellos para saber el start de cada consulta
for x = 1,numero_Bloques do
"SELECT * FROM mismapas LIMIT "..x..",100"
No se si me sigues , espero haberte ayudado.
en un principio tenia pensado usar el comando limit pero lo descarte en principio ( aunque la forma en que lo has programado estaba mejor que el mio... jajaj) el problema esta en esto:
	        	sQuery = "SELECT * FROM mismapas LIMIT 1,15"
				tQuery = SQLite.QueryToTable(db, sQuery);
	        	if tQuery.Rows ~= 0 then

					for i=1,tQuery.Rows do
					map1 = tQuery.Data[1]["mapa"];--NOMBRE DE MAPA	
					map2 = tQuery.Data[2]["mapa"];--NOMBRE DE MAPA	
					map3 = tQuery.Data[3]["mapa"];--NOMBRE DE MAPA	
					map4 = tQuery.Data[4]["mapa"];--NOMBRE DE MAPA	
					map5 = tQuery.Data[5]["mapa"];--NOMBRE DE MAPA
					map6 = tQuery.Data[6]["mapa"];--NOMBRE DE MAPA	
					map7 = tQuery.Data[7]["mapa"];--NOMBRE DE MAPA	
					map8 = tQuery.Data[8]["mapa"];--NOMBRE DE MAPA	
					map9 = tQuery.Data[9]["mapa"];--NOMBRE DE MAPA	
					map10 = tQuery.Data[10]["mapa"];--NOMBRE DE MAPA
					map11 = tQuery.Data[11]["mapa"];--NOMBRE DE MAPA	
					map12 = tQuery.Data[12]["mapa"];--NOMBRE DE MAPA	
					map13 = tQuery.Data[13]["mapa"];--NOMBRE DE MAPA	
					map14 = tQuery.Data[14]["mapa"];--NOMBRE DE MAPA	
					map15 = tQuery.Data[15]["mapa"];--NOMBRE DE MAPA		

					setstrings1 = map1 ..", ".. map2 ..", ".. map3 ..", ".. map4 ..", ".. map5;--lista uno 
					setstrings2 = map6 ..", ".. map7 ..", ".. map8 ..", ".. map9 ..", ".. map10;-- lista dos
					setstrings3 = map11 ..", ".. map12 ..", ".. map13 ..", ".. map14 ..", ".. map15;-- lista tres
					end				
				
si una vez sacado lista por lista y lo meto en la variable setstring1 ¿como hago para encadenar todos los nombres de la lista 1 como si fuera un string por ejemplo y no tener que hacerlo uno por uno ( me refiero a esto "map1 = tQuery.Data[1]["mapa"];--NOMBRE DE MAPA" ? me obliga a usar ese formato, ¿hay alguna otra forma de pasar los nombres de los mapas ( el ejemplo van de 5 en 5 )?

De modo que yo pueda meterlo en esta sentencia:
if section=="Page 1" then
[...]
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'><b> " .. setstrings1  .. " </b></font>", "Haga click para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
[...]
haber yo mas que concatenar strings , crearía tablas con los mapas y las usaría mediante  bucle para cargarlas en los list
ahora investigare un poco el tema, ya te contare creo tener una idea con el loop pero de forma mas rapida...
de todas formas si me pasas el apz siempre puedo opinar mas sobre seguro
rafaxplayer escribió:de todas formas si me pasas el apz siempre puedo opinar mas sobre seguro
Bueno esta es la solucion despues de mucho testear, muchas gracias rafax por la idea, aqui esta la solucion:
-- PREPARO VARIABLES DS SQL EXTERNAS PARA EMITIR SENTENCIAS SQLITE PURA.
local sQuery = "";
local tQuery = {};

-- ABRO BD
OpenDatabase(db);
		
InFile = File.DoesExist("C:\\My Settings.ini");
if (InFile == true) then-- SI HAY DATO 0 NO ESTA VACIO...SIGO

		-- PREPARO LAS LECTURAS DE LAS SECCCIONES O PAGINAS DEL ARCHIVO INI (PARA CUANDO SE RELLENE EL LISTBO-EX DEL DIALOGEX UNA VEZ SACADO LOS 
		-- TRAMOS DE INFORMACION) 
		for index = 1, 5 do
		all_sections = INIFile.GetSectionNames("c:\\My Settings.ini");

		
 		 for index_section, section in pairs(all_sections) do

           -- OBTENGO NOMBRES DE SECCIONES Y LOS NOMBRES DE MAPAS PARA RECUPERAR INFORMACION AL DIALOGEX
            value_data = INIFile.GetValue("C:\\My Settings.ini", section, "nameMap"..index);
			
	        	if value_data ~= "" then
	        
	        	-- LLAMO AL CAMPO 'MAPA' EN CANTIDADES DE 5 Y EN FACTOR DE INCREMENTO 5
				tblOne = SQLite.QueryToTable(db, "SELECT * FROM mismapas WHERE id >= 1 AND id <= 5");--  Tabla parcial para prmer tramo
				tblTwo = SQLite.QueryToTable(db, "SELECT * FROM mismapas WHERE id >= 6 AND id <= 10");--  Tabla parcial para segundo tramo
				tblThree = SQLite.QueryToTable(db, "SELECT * FROM mismapas WHERE id >= 11 AND id <= 15");--  Tabla parcial para tercer tramo
     				
     				
     				-- EMPIEZO A LLAMAR TODOS LOS MAPAS SEGUN EL TRAMO QUE SE LE PIDA AL INTERPRETE SQLITE SOBRE LA BBDD Y DE TRAMO A TRAMO
					--------------------
					contTblOne = 0 --RESETEO CONTADOR PARA DEJAR LISTA 1 LIMPIA...

					for tb1, k in pairs(tblOne.Data) do
						strings1 = tblOne.Data[tb1]["mapa"];
						contTblOne = Table.Count(tblOne.Data);	
						Table.Insert(tblOne, tb1, strings1);
						setstrings1= Table.Concat(tblOne, ", ", 1, TABLE_ALL); 									
					end 
					--------------------
				
					--------------------
					contTblTwo = 0 --RESETEO CONTADOR PARA DEJAR LISTA 2 LIMPIA...

					for tb2, k in pairs(tblTwo.Data) do
						strings2 = tblTwo.Data[tb2]["mapa"];
						contTblTwo = Table.Count(tblTwo.Data);	
						Table.Insert(tblTwo, tb2, strings2);
						setstrings2 = Table.Concat(tblTwo, ", ", 1, TABLE_ALL); 	
					end 
					--------------------
						
					--------------------
					contTblThree = 0 --RESETEO CONTADOR PARA DEJAR LISTA 3 LIMPIA...

					for tb3, k in pairs(tblThree.Data) do
						strings3 = tblThree.Data[tb3]["mapa"];
						contTblThree = Table.Count(tblThree.Data);	
						Table.Insert(tblThree, tb3, strings3);
						setstrings3 = Table.Concat(tblThree, ", ", 1, TABLE_ALL); 	
					end 

					--------------------		
				
					-- LA VARIABLE 'SECTION' ES PARA RELACIONAR EL LISTBOX DE LA PAGINA CON LA DEL LISTBOEX EN EL DIALOG-EX		
					if section=="Page 1" then
				--	Dialog.Message("mapas en lista 1:", setstrings1)

					ListBoxEx.SetVisible("Plugin2", true);
       				ListBoxEx.SetUpdate("Plugin2", false);
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'><b> " .. setstrings1  .. " </b></font>", "Haga click para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
			      	ListBoxEx.SetItemVisible("Plugin2", nIndex, true);
					ListBoxEx.SetUpdate("Plugin2", true);	
			
					elseif section=="Page 2" then
				--	Dialog.Message("mapas en lista 2:", setstrings2)

					ListBoxEx.SetVisible("Plugin2", true);
       				ListBoxEx.SetUpdate("Plugin2", false);
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'> " .. setstrings2  ..  " </b></font>", "Haga click para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
			      	ListBoxEx.SetItemVisible("Plugin2", nIndex, true);
					ListBoxEx.SetUpdate("Plugin2", true);	
	
					elseif section=="Page 3" then
				--	Dialog.Message("mapas en lista 3:", setstrings3)

					ListBoxEx.SetVisible("Plugin2", true);
       				ListBoxEx.SetUpdate("Plugin2", false);	
		      		nIndex = ListBoxEx.AddItem("Plugin2", "<p align='center'><b><font color='#D9D9D9'> Lista de "..section ..": \r\n</b></font><br><font color='#FF883B'> " .. setstrings3  ..  " </b></font>", "Haga click para ir hacia esta Lista de mapas correspondiente a la "..section, "", section, LBXITEM_HTML, "", nil, nil, nil);
			      	ListBoxEx.SetItemVisible("Plugin2", nIndex, true);
					ListBoxEx.SetUpdate("Plugin2", true);	
					end
			
				end		  	
	    end
		Application.ExitScript();--CIERRA EL LISTADO Y EVITA BUCLES INFINITOS
	end
		-- CIERRO LA OPERACION ( NO CIERRA LA BD SOLO LA OPERACION)..
		SQLite.Finalize(db);
		
else-- SI NO EXISTE INI ENTONCES SALTA ERROR...
Dialog.Message("Error!", "Ini no encontrado!", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1)
end
	
Rafa, tienes un prive :)
ok me alegro<div>
</div>