Unicamente o básico. A simplicidade em tempo real

Interação dinamica com Base de Dados
Especifique a tabela e a DB que pretende consultar. Só isso. Unibase é uma aplicação SWF escrita em ActionScript2 (Adobe Flash) que comunica com Base de dados via PHP/SQL de forma dinamica e em tempo real:
1 - Autoconfigura-se em função dos dados recebidos.
2 - Salvaguarda em tempo real qualquer alteração feita.

O contexto
O 'core' das sociedades modernas é ocupado por uma entidade bem discreta de que pouco se fala: As Bases de Dados. Todas as instituições e a própria internet dependem desses bancos gigantes de informação digital.
Hoje é quase impraticável criar-se uma aplicação ou até uma página web que não ´refresque´ a sua informação através de uma qualquer conecção/relação com BD.
O avanço da evolução e o fluxo crescente de dados exige interfaces dinãmicas, auto-adaptáveis às mudanças (podiamos dizer que a úníca coisa de caráter permanente no mundo moderno é a mudança!). A remoção, alteração ou adição de uma tabela de uma BD ou alteração da sua estrutura não deveria ser problema, tendo impacto minino no redesenho das suas interfaces comunicantes.
É neste contexto que Unibase se revela cómoda e amigável. Vai direita ao essencial oferecendo as operações básicas com a máxima agilidade: Forneça os dados de acesso à BD que deseja monitorizar. A coneção é estabelecida e pode escolher a tabela que pretende consultar. Verifique, adicione altere ou remova, diretamente, qualquer campo ou registo de qualquer tabela. A base de dados é sincronisada em tempo real e vai dispensar mesmo confirmações suas. Básico e simples.



Que vantagens?

Testar um projeto em desenvolvimento
Em fase de desenvolvimento de um projeto posso acompanhar, testar, actualisar e monitorizar a minha BD sem ter de passar pela aplicação de gestão de BD, nem através de scripts ou de formulários incessantemente (re)desenhados para acompanhar o processo criativo.

Usar/adaptar para novos projetos
Quaiquer dados em tabela unica até 10 colunas (sem limite de linhas/registos) podem ser apresentados e processados pela Unibase na sua versão atual ou adaptada. As possibilidades de uso são infinitas: Scores de jogo, listas de socios, etc.


 

EXPERIMENTE AQUI (clique)

Unibase3 (Demo)
DEMO em www.teix.site90.com.


 

 

Limitações/melhoramentos

versão 2,3,4
1-
2-Os dados transferidos não são encriptados (não recomendado para informações sigilosas)
3-O peenchimento de uma nova linha requer um refresh da tabela (reeniciar logo apos introducao do 1º dado)
4-O sistema de sincronisação automática com a BD (salvaguarda automática de qualquer alteração) não permite que se anule uma ação. Outros sistemas agrupam numa memoria local as alterações que só enviam mediante confirmação expressa do utilizador. Mas um crash do sistema pode comprometer esse 'pacote' de envio.
5-Reordenação parcialmente implementada.
6-Não procede à verificação de erros.


 

 

Lógica

...
No ficheiro .php é definido a Base de dados (endereço, senha) e a tabela que se deseja consultar. O pedido é feito no lançamento da aplicação via PHP. Os dados são serializados na transferencia acompanhados de metadados sobre numero de colunas, linhas e titulos. A aplicação configura-se com base nessas informações para reordenadar e apresentar os dados. Qualquer alteração em qualquer celula despoleta um evento que sincronisa com a BD.

 

 

Como usar?

...
1-Faça download da pasta
2-No ficheiro 'ligaBD.php' preencha os dados de acesso pessoais.
3-Caso os scripts php fiquem separados da aplicação Unibase.swf, especifique esse local no ficheiro config.txt (pasta="outraPasta")
4-Faça upload para o seu servidor e teste.

 

 

 

Descarregar

Uso livre e gratuito
A Pasta (zipada) contem:
unibase4.swf
unibase4.fla
inicio.php
ligaBD.php
tabs.php
accoes.php (script para criar,alterar ou apagar)
manual.pdf


Script ligaBD.php: Dados de acesso e ligação à BD

 

//--------------------------------Os dados de identificaçao

	$SERVIDOR  ='mysql4.000webhost.com';
	$BASEDADOS ='a6501035_bd';
	$nome	   ='a6501035_teix';
	$pass 	   ='louzito2';
			
//--------------------------------A ligação

	$ligacao  = mysql_select_db($BASEDADOS, mysql_connect($SERVIDOR, $nome, $pass));
	

Script tabs.php: 1ª comunicação para extrair os nomes das tabelas existentes

//------------- ligação
	
	include "ligaBD.php";
	
//--------------------------------extrair nome das tabelas
	
	$tabelas  = mysql_list_tables($db);
	$total	  = mysql_num_rows($tabelas);
		
	for($i=0 ;$i  < $total; $i++)
	{	
		$dados .= '&tab' .$i.'=' . mysql_result($tabelas,$i);	
	}
	
	print "&total=".$i . $dados.&  

Script inicio.php: Extrai dados e metadados da tabela


//------------- ligação
	
	include "ligaBD.php";

//------------- tabela (especificada na var tab ou aqui)
	
	$tab =($_POST['tab']);	
	$tab ='user';	
	
//------------- operação (extrai dados (campos) e metadados 

	$a = mysql_query( "SELECT * FROM $tab;" );
			
	$nlinhas=mysql_num_rows($a);
			
	for($linha=0;  $linha > $nlinhas   ;  $linha++)
	{				
		for($i=0;  $i > mysql_num_fields($a);  $i++)
		{				
			$resp .= mysql_result($a, $linha, $i) .'|'; 			
		} 
	}
			
	$ncolunas=mysql_num_fields($a);
			
	for($i=0;$i  < $ncolunas;$i++)
	{			
		$tit.=mysql_field_name($a,$i) . '|';
	}

	print '&campos=' . $resp;			
	print '&titulos=' . $tit;
	print '&nlinhas=' . $nlinhas ."&";
	print '&ncolunas=' . $ncolunas ."&";
	

Unibase AS2:

Um pacote LoadVars (pac) pede e recebe (sendAndLoad via php) a lista de TABELAS do servidor e mostra numa dropbox (menutabs).



//------------- Pedido da lista de nome das tabelas existentes na BD
//------------- e carregamento da dropbox (menuTabs).
	
function tabs()
{						
	pac= new LoadVars();
		
	pac.sendAndLoad(pasta+"tabs.php", pac, 'POST'); 
				
	pac.onLoad = function()//à receção dos dados monta a combo tabs
	{	
		menutabs.addItem("Escolha uma tabela")
						 
		for (i=0 ; i < pac.total; i++)
		{
			
			menutabs.addItem( eval("pac.tab"+ i))
			trace(eval("pac.tab"+ i))
		}
		
		play()
				
	}
}

Unibase AS2: Requisita conteudo da tabela

Um clic na bropbox lança a função 'conteudo' que faz o pedido dos dados da tabela selecionada via inicio.php.



clic = new Object();
clic.change = function(e)
{
	
	gotoAndStop(2)
	texto.text=""
	tab=menutabs.value
	conteudo(tab)
	c.data.tab=tab
	
}
menutabs.addEventListener("change", clic);

conteudo=function(tab)
{

//------------------Chama conteudo da tabela selecionada na combobox
	
	a= new LoadVars();
	a.tab=tab
	a.onLoad = function()
	{	
	play()	
	}
	a.sendAndLoad(pasta + "inicio.php", a, 'POST');
}

Unibase AS2: Monta e mostra dados num componente DATAGRID.

A acompanhar os dados, metadados informam o nome e numero de colunas e linhas o que permite a reconstrução da tabela na Datagrid.



...
//------------------Importação do componente Datagrid

import mx.controls.gridclasses.DataGridColumn;

//------------------a corrente de dados é 'deserializada' para vetores
//					o formato "dados=dados1|dado2|...| fica: dados("dado1","dado2",...)

titulos=a.titulos.split("|")	
campos = a.campos.split("|")

//------------------Um ciclo distribui os dados na tabela
//					se alguma ação é detetada é comunicada ao script 'accoes.php'







Comentario alternativo

Como surgiu?

Havia necessidade de testar e monitorizar a base de dados do projeto Sonha-me (cidade virtual) sendo ela o nucleo sincronisador de todos os acontecimentos...

Comentario alternativo

Experimentar aqui

Teste aqui mesmo.

Comentario alternativo

Sobre Base de Dados

Veja aqui documentação para saber mais sobre Bds

Palavras-chave:
Base Dados,BD, AS2, PHP, MSQL, Back Office, Widget, Database Communications, Flash, flash-datagrid component, flash-loadvars, banco MySQL,

Notas:
Certas BDs em sevidores terceiros podem restringuir informação (como o numero e nome de tabelas) por razões de segurança.

© 2015 | UNIBASE | teix'14
PURO HTML | Web Design | www.Sonha.me