Obter Tabelas Dinâmicas MySQL com PHP e AJAX
O Eyesis Data Grid Control é tudo o que precisa quando chega a altura de exibir dados apartir de uma base de dados MySQL para tabelas. Não é utilizado flash dinâmico ou código complexo em javascript, assim como ínfimas classes ambíguas baralhando todo o projecto. Esta classe é simples, pequena, e fácil de implementar com apenas 6 linhas de código. Não acredita? Veja os exemplos…
Algumas das características incluídas:
- Capacidades de filtragem e de busca
- Habilidade de mudar cabeçalhos das colunas
- Capacidade de exibir imagens
- Paginação automática
- Selecção de linhas
- Suporte de dados MySQL
- Suporte Ajax
- Ocultar colunas
- Ordenar colunas
- Personalização do visual através de CSS
- Pode lidar com grandes conjuntos de dados
- Capacidade de adicionar controlos
- Suporta caixas de selecção (checkbox)
- Especificar tipos de formato da coluna (como %, dólares, euros, etc)
- Testado e trabalhando no Firefox 2 e 3, o IE 6 e 7, Chrome, Safari 3 e Opera 9
Só PHP 5 - E muito mais!

Em poucos segundos, são criadas tabelas dinâmicas, muito fáceis de usar no seu website.
A título de exemplo, a tabela acima foi construída com apenas 6 linhas de código. Você mesmo pode recriar a imagem acima activando Ajax com apenas 1 linha de código.
Demonstrações:
| Exemplo 1 – Tabela de Dados básica | [Ver] | [Fonte] |
| Exemplo 1.5 – Tabela de Dados com AJAX | [Ver] | [Fonte] |
| Exemplo 2 – Filtros, Cabeçalhos, Tipos de Colunas | [Ver] | [Fonte] |
| Exemplo 3 – Mais propriedades | [Ver] | [Fonte] |
| Exemplo 4 – Selecção de Linhas | [Ver] | [Fonte] |
| Exemplo 5 – Demonstração Total com Ajax | [Ver] | [Fonte] |
Download: eyedatagrid-1.1.zip
Website: http://www.eyesis.ca/projects/datagrid.html
Licença: Gratuito
Ecwid é uma plataforma de comércio electrónico em Ajax, a qual oferece a performance que necessita, sem qualquer incómodo. Está bem desenhada e proporciona uma experiência suave para os utilizadores e proprietários de lojas. Ecwid dispõe de uma interface rápida, com funcionalidades drag’n'drop e, é muito fácil de integrar. Registe-se no Ecwid, e imediatamente depois de [...]
Respostas a “Obter Tabelas Dinâmicas MySQL com PHP e AJAX”
O que tens a dizer?
Registar o seu Gravatar.
Imoecável Pedro. De facto é do melhor que vi. Precisava utilizar este exemplo para mostrar dados de uma tabela mysql, mas filtrando por exemplo, login=sessão e tipo=”enviada”. É possível fazer isto com esse script?
Agradeço a atenção.
Obrigado
Olá Mario! Obrigado pelas palavras.
Já viste como se realiza a consulta para o ex.2?
$x->setQuery("*", "people", "Id", "Id > 2");Pode ser que te ajude. Abraço
Olá Seu artigo ficou muito bom. Você poderia acrescentar, escolha de colunas também. Mas ficou show d+
Olá! Está excelente! Bom trabalho!
Já agora uma pergunta, como posso tornar as linhas da tabela href? por exemplo: seleccionar uma linha e redireccionar para edit.php?id=’linhaSelecionada’
Obrigada!!
Já consegui!
Oi Bruna, ainda bem que conseguiu :)
Olá!! Já agora queria inserir uma query mais complexa com JOINS, como consigo fazer isto? A function printTable() não está preparada para receber uma query sem ser através do setQuery.
Obrigada!! :)
Eu começava por adicionar o
$joinà funçãosetQuery. E depois adicionar as condições na funçãoprintTable… É possível mostrar que trabalho estás a fazer?Neste momento estou a trabalhar com a seguinte query que associa-se com outras tabelas.
$sql= “SELECT projecto.id, projecto.cod_proj, projecto.data_registo, projecto.descricao, projecto.tipo,cliente.nome AS cliente, direccao.nome AS direccao, e.nome AS estado
FROM projecto
INNER JOIN cliente ON projecto.nif_cliente = cliente.nif
LEFT JOIN estado e ON projecto.estado = e.id
INNER JOIN direccao ON projecto.direccao = direccao.id
WHERE projecto.estado <5
ORDER BY data_registo DESC”;
O ideal seria inserir na printTable a variável $sql e obter a tabela com os registos ou então através do setQuery inserir mais campos para INNER JOIN, ON e LEFT JOIN.
Obrigada!!
Já consegui :D! Adicionei mais um parâmetro $join à setQuery e alterei a função do printTable para utilizar $join nos filtros da query para o mysql poder receber e dar o resultado pretendido!
Depois posso mostrar como ficou para quem quiser utilizar query’s mais complexas nesta ferramenta!
Obrigada pela ajuda!!!
Oi Bruna, ainda bem que conseguiu. Parabéns! Eu ainda não obtive essa experiência com este script. De qualquer forma, exige conhecimentos avançados mas no entanto, muito útil. :)
Muito bacana, é uma boa ferramenta
Bruna, gostaria de saber como ficou as modificações que você fez para utilizar query’s que relacionam várias tabelas.
Estou tentando adicionar um script para inserção, edição e para deletar um dos registros, mas estou tendo dificuldades em entender como fazê-lo. Já que nas funções ele chama um java script com um alerta. Isso me deixou um tanto confuso. Alguém poderia me dar uma luz?
amigo tem algum jeito de percorrer pelas linhas com as setas do teclado??
Existe sim. Com recurso a Javascript http://www.webgrafismo.com/2009/04/13/tabelas-html-com-navegacao-por-teclado-estilo-excell/ pode chegar a essa funcionalidade.
Respondendo ao TIAGO:
Não sei se é como a Bruna fiz, mas após uns ajustes, também consegui atingir meu objetivo. Mostrar a grid buscando dados de mais de uma tabela.
Seguem os ajustes:
class.eyedatagrid.inc.php Linha 650:
public function printTable($join=”"){
class.eyedatagrid.inc.php Linha 690:
$query = ‘SELECT ‘ . $this->select_fields . ‘ FROM ‘ . $this->select_table . ”.$join.’ ‘ . $filter;
E quando chamo o pirinTable, passo o JOIN.
$join = ” inner join tb_tela on tb_tela.ntela = tb_acesso.ntela “;
$x->printTable($join);
Espero ter ajudado…
eu não consegui, pois não está abriindo e tbm gostaria de saber como eu edito o banco de dados, criei o banco mas ele não reconhece
Olá Marcelo! Tens de conseguir conectar-te à base de dados, antes de pensares em editar valores. Que servidor estás a usar? Estás a trabalhar em local ou servidor web?
Olá Pedro!
Se vc puder me ajudar gostaria de um exemplo como gerar colunas colocando em um campo a quantidade de linhas que eu queira e o banco de dados gerar automaticamente essas linhas ou colunas?
Ex:Como do Xamp eu digito o número de colunas que eu quero e ele gera automaticamente.
Agradeço muito se vc puder me ajudar com isso.
Obrigado.