Sejam todos bem vindos à mais uma aula do curso de criação de um painel administrativo utilizando PHP e orientação a objetos. Nesta aula vamos criar a tela de listagem para exibir todos os usuários cadastrados no banco de dados. Para tornar a tabela mais dinâmica iremos usar o jQuery DataTable por já conter nativamente todos os recursos que iremos precisar.
Além da listagem, iremos criar também os links para edição, alteração de senha e exclusão de usuários, para que nas próximas aulas essa tarefa já esteja pronta.
Este post faz parte de uma série, confira tudo que já foi publicado sobre o mesmo assunto.
Sou técnico em hardware e desenvolvedor web, e sobre estes dois assuntos comecei a compartilhar aulas e artigos, tornando-me blogueiro em 2008. Em 2010 esse hobby virou profissão, e desde então tenho buscado melhorar e profissionalizar cada vez mais os projetos que mantenho na web.
Atualmente temos 41 comentários para este post. Participe você também, clique aqui e comente sobre o assunto.
Procure pela variável/objeto que armazena essa informação para mostrar, já faz muito tempo, não lembro onde essa info está armazenada nesse projeto.
ResponderRESOLVIDO. É só usar _TOTAL_
Obrigado!
ResponderOlá Ricardo! Mais uma vez parabéns pelas vídeo-aulas. Lá na tabela que mostra os registros, aquelas setinhas onde dá para mostrar a ordem dos registros, na parte de cima onde aparece o nome, email, etc.., está tudo certo, mas essas setinha aparece também logo abaixo da borda e a tabela fica desconfigurada, com os registro do campo nome dando quebra de linha, no email não dá porque o email é todo junto sem espaços entre as palavras. Se puder me ajudar te agradeço muito. Grande abraço!
ResponderCreio que você terá que arrumar isso com um CSS específico ou então verificar a possibilidade de ajustar diretamente no DataTable.
ResponderRicardo, parabéns pelo trabalho...fui até o final já e fiquei com 2 dúvidas.
A primeira, ao rodar no localhost no Chrome, ao realizar pela primeira vez o login, ele da erro=3 dizendo que o usuário deve fazer o login antes, o que não ocorre em outros browsers, por isso achei estranho.
A outra, o meu grid data-table esta funcionando normalmente, ele pesquisa, ele ordena ao clicar nas colunas, porém ele não traz as setas para cima e para baixo e também não faz as linhas com cor sim e cor não, conforme o seu, você sabe o que pode ser? Obs.: Refiz tudo que foi falado na primeira aula, baixei os arquivos todos novamente, enfim, não sei o que pode ser...deixo essa mensagem mas ainda assim continuarei pesquisando para ver o que posso ter feito de errado, o que é mais provável uma vez que o seu esta funcionando normalmente.
Grato por tudo!
Ricardo, minha execução de javascript para o sistema simplesmente parou de funcionar. Nada mais em javascript funciona mais.
Qual a dica para tentar arrumar... ?
Primeiro passo é descobrir o que está errado (muito provavelmente algum comando digitado erroneamente). Use o inspetor do Chrome ou então o Firebug na aba CONSOLE e veja o que é indicado como erro.
ResponderEntão Ricardo estou acompanhando todas as suas videos aulas e conseguir resolver quase todos os problemas dos meus scripts a única coisa que ainda não conseguir corrigir, foi impedir de um usuário limitado cadastrar um usuario sem marcar como adm ainda sim ele marca como usuário adm ele só deixa de marcar quando se o usuário prencher um nome ou email que já esta cadastrado e clicar en enviar apareçer a mensagem de erro e desabilita o botão de adm.
Mais um vez parabéns pelas videos aulas cada vez melhor, vc além de dar uma excelente explicação passa para nós o que vc aprendeu na integra, sucesso em sua jornada...
Ai Cria Um Carrinho De Produtos Com PHP
ResponderOlá Ricardo;
Excelente curso!
Programo já há algum tempo lançando mão do paradigma procedural em PHP, e só agora com o seu curso estou conseguindo me adequar à OO.
Faço-lhe uma pergunta que, a princípio pode parecer redundante e, sei que é possível na prática, porém não conheço o caminho das pedras.
Em sistemas nos quais utilizamos os relacionamentos entre mais de uma tabela para produção de relatórios, daqueles que atribuímos um apelido pra table, tipo:
código fonte excluído pois não foi postado conforme as regras
Sendo que, minha dúvida agora atroz, é como construir esta arquitetura em OO, pois os valiosos e eficazes métodos que vimos até agora, através do método selecionaTudo(), a priori só pega os dados de uma tabela...
Obrigado!
ResponderBasta criar as funções conforme sua necessidade ou então criar uma classe específica para consultas.
ResponderRicardo, estava pensando, que no painel administrativo, seria legal saber que esta logado, tipo: você esta logado como: admin.
tentei fazer assim:
código fonte excluído pois não foi postado conforme as regras
mas ele só mostra o nome do usuário quando clico no menu de cadastro de usuários ou listar usuários...
vai a dica ai...
valeu.
ResponderCrie uma box no header para colocar esta informação em todas as páginas.
ResponderObrigado pela ajuda Ricardo.
O problema foi que eu havia formatado o computador e quando refiz o banco, acabei deixando escapar algumas propriedades, tudo solucionado agora!
postei na aula seis uma dúvida sobre uma essa mensagem:
"Esta página da web tem um loop de redirecionamento
A página da web em http://localhost/paineladm/?erro=3 resultou em muitos redirecionamentos.
Apagar seus cookies para este site ou permitir cookies de terceiros pode resolver o problema.
^^ Já verifiquei os cookies.
Se não resolver, talvez o problema esteja na configuração do servidor, e não em seu computador.
Veja algumas sugestões:
Recarregue esta página da web mais tarde.
Saiba mais sobre este problema.
Erro 310 (net::ERR_TOO_MANY_REDIRECTS): Houve muitos redirecionamentos."
^^vasculhei em diversos forum um resposta, mas não achei nada que funcione.
Será que você poderia me ajudar a resolver esse problema.
ResponderO erro está em sua codificação e não em cookies ou qualquer outra coisa. Você trocou alguma verificação e a página entra em loop infinito, confira sua função verificaLogin e qualquer outra parte do código que faça a mesma verificação.
Você comentou em algum lugar (não lembro em qual post) que trocou algo nas funções ou tirou algumas linhas de código, e está faltando lógica em suas alterações.
na aula 6 do painel de administração tem dois códigos um no arquivo função e outro no usuários.
Quando acrescento esse trecho -
|| $sessao->getVar('ip')!=$_SERVER['REMOTE_ADDR']
- no código do usuários da esse loop infinito.
Se eu retirar funciona.
o que eu reparei e que no código do arquivo funcoes.php ele redireciona para: ?erro=3;
e no código do arquivo usuarios.php ele redireciona para: painel.php
Fiz exatamente com está na aula.
ResponderVocê NÃO fez exatamente como está na aula, seu código está ERRADO, veja aula 6 (21:35 a 21:40) está diferente da sua linha!
Quando eu falo que para estudar e programar é necessário dedicação e concentração total acham que eu estou exagerando, mas em 5 segundos de aula você alterou a lógica do sistema dizendo pra ele ir para o index e voltar para o painel infinitamente.
Sidney não leve a mal o que eu vou dizer agora, mas tanto este como os demais erros que você enfrentou no desenvolvimento do painel (sim, eu leio TODOS os comentários indiferente de responder ou não o mesmo), foram todos erros muito infantis e creio que todos pelo mesmo motivo: erro na digitação de algum comando. Deduzo que você não está suficientemente concentrado para a tarefa que está fazendo ou tem dificuldade na digitação.
Entenda isso como uma crítica construtiva e procure melhorar no que está lhe faltando para programar melhor.
ResponderPessoal, todos os erros que vocês estão tendo são derivados de falta de atenção, digitação incorreta ou algo semelhante.
Parem de copiar e pensem um pouco na lógica do sistema, nas tags HTML geradas pelo código de vocês. Prestem atenção no que vocês estão digitando, programar requer atenção e sintaxe perfeita, uma vírgula fora do lugar pode estragar todo código.
No erro do Daniel foi colocado tudo em uma única célula da tabela, ou seja, foi esquecido de fechar a tag da célula e abrir a seguinte. Erro de HTML e não de PHP.
Sidney, erros de digitação, se abriu aspas tem que fechar, sejam elas duplas ou simples.
Programação é uma ciência exata, se funcionou pra mim tem que funcionar pra você da mesma forma, não existe funcionamento parcial em um sistema, ou funciona tudo ou nada.
ResponderBom dia Ricardo,
Inicialmente gostaria de parabenizar pela iniciativa. Não conhecia o seu site e achei muito interessante o material disponibilizado.
Estou com uma duvida, nessa arquitetura, como eu poderia inserir um dropdown no formulario de cadastro de usuarios, buscando registros em uma outra tabela do banco, uma vez que a tabela é passada dinamicamente.
Att.
Tito
Tudo que a sua lógica permitir é possível fazer em programação.
ResponderBasta fazer uma consulta SQL e Mostrar os resultados em um array associativo. :)
ResponderNão mostrou ali, mais segue...
Pode ser que você não definiu:
<tbody>
<tr>
...
</tr>
</tbody>
Obrigado por mais uma aula, mas a sintaxe ainda continua me surrando.
nessa parte do código tem dado erro.
já vi e revi, e não achei o erro.
ERRO: Parse error: syntax error, unexpected T_STRING in C:wampwwwpaineladmmodulosusuarios.php on line 166
printf('<td class="center">%s</td>',date("d/m/Y,strtotime($res->datacad)));
printf('<td class="center"><a href="?m=usuarios&t=incluir" title="Novo Cadastro"><img src="images/add.png" alt="Novo Cadastro" /></a> <a href="?m=usuarios&t=editar&id=%s" title="Editar"><img src="images/edit.png" alt="Editar" /></a> <a href="?m=usuarios&t=senha&id=%s" title="Mudar senha"><img src="images/pass.png" alt="Mudar senha" /></a> <a href="?m=usuarios&t=excluir&id=%s" title="excluir"><img src="images/delete.png" alt="Excluir" /></a></td>',$res->id,$res->id,$res->id);
echo '</tr>';
achei o erro faltava um " depois do Y. ¬¬"
Respondermais uma ótima vídeo aula, valeu Ricardo, por repartir conosco seu conhecimento...
ResponderOla tudo bem ? obrigado pela as tem ajudado muito !
então nessa ultima aula não consigo resolver um problema fiz tudo de acordo com que vc ensinou na aula ve se vc pode me ajuda olha so como eu sistema ta ficando na parte de exibir usuarios http://img225.imageshack.us/img225/4233/19511583.png não consigo resolver espero que possa me ajuda flw abraço
Ja resolvi o problema acho que eu digitei alguma coisa errada pq eu apaguei e fiz dinovo deu certo flw abraço até a proxima !
ResponderPoste a parte do seu código onde usa printf(), o erro pode estar ai, ou pode ser que você não definiu
Espero que isso ajude.
ResponderOla Ricardo,
Estou tendo problemas com um dos procedimentos.
<?php
$user = new usuarios();
$user->selecionaTudo($user);
while ($res = $user->retornaDados()):
echo '<tr>';
printf('<td>%s</td>',$res->nome);
printf('<td>%s</td>',$res->email);
printf('<td>%s</td>',$res->login);
printf('<td class="center">%s/%s</td>',strtoupper($res->ativo),strtoupper($res->administrador));
printf('<td>%s</td>',date("d/m/Y",strtotime($res->datacad)));
printf('<td class="center">%s</td>','Aes');
echo '</tr>';
endwhile;
?>
O Sistema todo funciona, inclusive já fiz testes com outras funções, mas nessa especificamente não tem retornado nenhum valor do banco. Já refiz a aula e também já verifiquei o banco e esta tudo similar as aulas.
Mas não retorna nenhum valor do banco, o datatable acusa que esta vazia a tabela. Poderia me ajudar?
ResponderHá registros no banco? Não há erros no datatable? Já tentou mostrar os registros sem o datatable? Você precisa descobrir onde está seu erro.
ResponderShow de bola cada dia aprendendomais, e mais com suas aulas.
ResponderOlá, Muito boa a Video Aula, gostária de saber como faz para quebrar linha no Aptana, pois se eu digitar um código gigante ele fica em um link e fica horrivel !
ResponderBotão direito > Word Wrap
ResponderOntem fiz oque você fez nessa video aula, mais faltou uma parte no datatable que eu fiz, aquela do sScrollY, tava tentando de todo jeito achar aquilo :/
Obrigado pela video aula, muito boa.
ResponderFico feliz Murilo que tenha tentado e conseguido fazer a tela antes mesmo da aula, isso é fundamental e demonstra sua vontade de aprender o assunto abordado.
ResponderA eu tenho muito interesse sim, OOP é muito interessante para um profissional, é um diferencial que conta muito, não sou profissional, mais quem sabe um dia eu venha a ser, tenho que me preparar para tudo né.
Já estou aguardando a próxima, Valeu.
ResponderE ai, a 11ª ja esta vindo né, estou muito ancioso porque já fiz as telas que vão ser ensinadas, porem quero ter certeza de que estou fazendo do jeito certo, funcionar sempre vai, porem nem sempre do jeito certo né :D
Uma dica pra todo mundo, leiam seus códigos como se estivesse lendo um texto simples, assim é fácil achar os erros, principalmente de ortografia. :D
A aula já está a caminho sim, se quiser antecipar veja a lógica usada na próxima aula onde será feita a tela de alteração:
Agora sim, a minha lógica esta correta, fiz tudo direitinho, menos a parte de email duplicado na hora da edição :S
© 2008-2024 - RBTech.info | Todos os direitos reservados | Hospedado por Innova Host
É proibida a reprodução total ou parcial de qualquer conteúdo deste site.
Olá Ricardo, quando eu listo os usuários aparece no rodapé o número de registros encontrados "info": "Total de _MAX_ registros",
gostaria de saber como faço quando uso o "search" (filtro) para contar somente o número de registros filtrados. Obrigado.