Olá!
Primeiro analize o print:
Bom, esse site é de um cadastro de escolas/alunos de uma prefeitura local aqui do meu estado. O aluno se cadastra, recebe um email e clica no site que é enviado no email e ATIVA a conta dele automatico. OK!
Quero fazer 2 coisas nesse site mais não sei fazer, quero apenas uma ideia!
IDEIA FOTO 1: Na foto numero 1, ele é uma paginação. Você coloca 50, aparece os 50 primeiros cadastros, muda para 100, mostra em 100 primeiros. OK! Ele já faz isso, mais por exemplo, ele é padrão 50, se eu mudo para 100 e dou refresh na pagina, volta para 50! Se eu aperto no botão ATIVAR em algum aluno, ele da o refresh na pagina, ativa o usuario mais volta para 50. Então tenho que ficar toda a hora trocando. Como eu faço para, se eu colocar 100, ficar FIXO ali até eu dar um logout?
IDEIA FOTO 2: Bom, para cada aluno tem um checkbox ao lado FOTO 2/2. Você seleciona quantos quiser e no lugar aonde é FOTO 1/2 você aperta e ativa os selecionados ou exclui todos juntos. Como eu faço isso?
Cada um aluno tem o seu id, tudo certinho já! Mas não sei fazer ele ativar ou excluir todos que eu selecionar!
Galera, MUITO OBRIGADO a quem em ajudar!
Preciso De Ajuda Em Um Site Php/cakephp/mysql ! [+fotos]
Started By soratto, 04/07/2009, 14:43
2 replies to this topic
#1
Posted 04/07/2009, 14:43
#2
Posted 04/07/2009, 17:03
Para a primeira pergunta, existe diversas possibilidades de se resolver. Se você usa query strings, pode adicionar uma variável na url quando o aluno muda a ordem. Por exemplo, quando um aluno troca a ordem você adiciona cadastros=100 e assim, buscar sempre na página se existe esta variável, se não existir usa-se 50:
Outra opção é usar cookies ou session para armazenar os dados. Use de preferência o que o seu sistema de login usa, assim quando um usuário fizer logout a variável será apagada.
Na segunda parte, basta declarar os checkboxes como um array, por exemplo:
Em que no parâmetro value você especifica o ID do aluno. Assim, no php basta fazer um ciclo no array:
Espero ter ajudado.
<?php $total_cadastro = (isset($_GET['cadastros']) AND $_GET['cadastros'] > 0) ? $_GET['cadastros'] : 50;
Outra opção é usar cookies ou session para armazenar os dados. Use de preferência o que o seu sistema de login usa, assim quando um usuário fizer logout a variável será apagada.
Na segunda parte, basta declarar os checkboxes como um array, por exemplo:
<input type="checkbox" name="alunos[]" value="1"/> <input type="checkbox" name="alunos[]" value="2"/> <input type="checkbox" name="alunos[]" value="3"/>
Em que no parâmetro value você especifica o ID do aluno. Assim, no php basta fazer um ciclo no array:
<?php foreach($_GET['alunos'] as $key => $val) { //Faz a ação com o aluno de id = $val // Apagar, editar, etc }
Espero ter ajudado.
Edição feita por: CMAC, 04/07/2009, 17:04.
#3
Posted 06/07/2009, 15:00
Respondendo a 2° questão é fácil, você tem dois botões, certo? Um de exclusão e outro de Ativação, e apenas um form onde o action dependerá do botão clicado, ok? Pois bem, faça o seguinte:
insira no botão excluir uma função javascript, assim:
[codebox]<input type="button" onclick="enviaForm('excluir')">[/codebox]
e no botão ativar assim:
[codebox]<input type="button" onclick="enviaForm('ativar')">[/codebox]
Observe que tanto um botão o outro chama uma função, porém com parâmetros diferentes, 'ativar' para o botão ativar e 'excluir' para o botão excluir.
Seguindo:
Ao clicar em algum botão a função será chamada, o que acontecerá é que o action do form mudará de acordo com o botão clicado. Segue abaixo a função:
[codebox]function enviaForm(id){
if(id == 'ativar'){
document.getElementById('aqui_voce_coloca_o_id_do_form').action = 'aqui_voce_cloca_a_url'; //por exemplo ativar.php
}else{
document.getElementById('aqui_voce_coloca_o_id_do_form').action = 'aqui_voce_cloca_a_url'; //por exemplo excluir.php
}
document.getElementById('aqui_voce_coloca_o_id_do_form').submit()//por fim dá o submit para o action definido na função
}[/codebox]
Espero ter ajudado, qquer dúvida posta aqui.
Abraço.
insira no botão excluir uma função javascript, assim:
[codebox]<input type="button" onclick="enviaForm('excluir')">[/codebox]
e no botão ativar assim:
[codebox]<input type="button" onclick="enviaForm('ativar')">[/codebox]
Observe que tanto um botão o outro chama uma função, porém com parâmetros diferentes, 'ativar' para o botão ativar e 'excluir' para o botão excluir.
Seguindo:
Ao clicar em algum botão a função será chamada, o que acontecerá é que o action do form mudará de acordo com o botão clicado. Segue abaixo a função:
[codebox]function enviaForm(id){
if(id == 'ativar'){
document.getElementById('aqui_voce_coloca_o_id_do_form').action = 'aqui_voce_cloca_a_url'; //por exemplo ativar.php
}else{
document.getElementById('aqui_voce_coloca_o_id_do_form').action = 'aqui_voce_cloca_a_url'; //por exemplo excluir.php
}
document.getElementById('aqui_voce_coloca_o_id_do_form').submit()//por fim dá o submit para o action definido na função
}[/codebox]
Espero ter ajudado, qquer dúvida posta aqui.
Abraço.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)