Jump to content

Botão eliminar com javascript


joaocasta

Recommended Posts

Bem, cheguei à altura em que tenho muito dados na base de dados e não seria muito agradável ir à base de dados sempre que quero eliminar os dados. Pois bem, o que queria era chamar os dados da minha tabela e eliminá-los com um botão em javascript, tentei procurar mas os exemplos são um pouco esquisitos, por isso vim aqui à minha comunidade favorita para me tentar ajudar...

Podem?

Edited by joaocasta
Link to comment
Share on other sites

Não entendo o que queres dizer com o 'bonito', mas uma solução simples para o teu problema é:

Listas todos os resultados que te interessam;

Ao listares 1 a 1, recolhes também o id do teu item e crias um link para redireccionar para um script php.

No script php recolhes o id que vem anteriormente do link e eliminas o registo desse id(s).

Link to comment
Share on other sites

Não entendo o que queres dizer com o 'bonito', mas uma solução simples para o teu problema é:

Listas todos os resultados que te interessam;

Ao listares 1 a 1, recolhes também o id do teu item e crias um link para redireccionar para um script php.

No script php recolhes o id que vem anteriormente do link e eliminas o registo desse id(s).

Imagina que a página onde listas os dados pesa 100Kb. Se usares só php/mysql, de cada vez que precisares apagar um registo ele vai-te processar novamente a página, além do processo de apagar em si, dando pelo menos o dobro dos dados transmitidos. Se usares javascript, tens os 100Kb iniciais mais uma pequena porção correspondente a um "possível" post-back do server a dizer que se ocorreu algum erro ou se correu tudo bem com o site, ou seja, ... os numeros falam por si.

Link to comment
Share on other sites

Imagina que a página onde listas os dados pesa 100Kb. Se usares só php/mysql, de cada vez que precisares apagar um registo ele vai-te processar novamente a página, além do processo de apagar em si, dando pelo menos o dobro dos dados transmitidos. Se usares javascript, tens os 100Kb iniciais mais uma pequena porção correspondente a um "possível" post-back do server a dizer que se ocorreu algum erro ou se correu tudo bem com o site, ou seja, ... os numeros falam por si.

Mas eu não tenho dúvidas quanto a isso. Foi uma (tentativa de) forma subtil para que se chegasse à conclusão se realmente necessitava de usar javascript ou não, ou outro tipo de ferramenta.

"Cheguei a uma altura que tenho muitos registos" <- O que são muitos? 1000, 10000, 100000, 10000000?

Beleza e usabilidade, não é a mesma coisa, daí eu estranhar o "javascript porque é bonito".

Link to comment
Share on other sites

Bem, cheguei à altura em que tenho muito dados na base de dados e não seria muito agradável ir à base de dados sempre que quero eliminar os dados. Pois bem, o que queria era chamar os dados da minha tabela e eliminá-los com um botão em javascript, tentei procurar mas os exemplos são um pouco esquisitos, por isso vim aqui à minha comunidade favorita para me tentar ajudar...

Podem?

Na operação de listar, sim, o processo pode ser pesado. Na operação de eliminar, normalmente com 1 consulta, eliminas os dados. Se por exemplo na interface do utilizador, escolheres N registos não sequenciais, uma solução é passares apenas os IDs para o servidor e com uma consulta podes eliminar esses registos. Portanto, normalmente eliminar não exige recursos tanto do servidor como do browser.

Link to comment
Share on other sites

Por exemplo...

<div id="interface">
<form action="/delete" method="post" id="lista">
<ul>
<li>
	 <span><input type="checkbox" name="selected[]" value="<?=encode($row['id'])?>" /></span>
	 <span><?=$row['name']?></span>
</li>
</ul>
<button type="submit">eliminar</button>
</form>
<div>

Depois com jQuery...

jQuery('#lista').submit(function() {
var me = jQuery(this);
jQuery.ajax({
	url: me.attr('action'),
	type: me.attr('method'),
	data: me.serialize(),
	success: function(response) {
		 jQuery('#interface').html(response);
	}
   });
});
Edited by taviroquai
Link to comment
Share on other sites

^

Hum...

Não gosto feito dessa maneira principalmente o que meteste para quando faz com sucesso (essa parte é código de preguiçoso e é também código bem aberto para um hacker/cracker se aproveitar) mas sim... É uma maneira de resolver o problema.... :|

Fazer bom código significa enviar para o servidor só o que o servidor precisa e receber do servidor só o que o cliente precisa. Nunca existe HTML nesse processo.

Já agora, se não sabes escrever código não usando o jQuery não devias de usar o jQuery. Começa por fazer as coisas usando só o que a linguagem te dá (neste caso, o que o browser te dá) e usa bibliotecas como o jQuery só para o complicado.

Edited by brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Eu fiz a mesma coisa que tu queres vou explicar como podes fazer, fazes um listar de todas as linhas da tua Base de dados e incorporas um codigo assim parecido:

<a href="apagar.php?id=' . $row['ID'] . '"><img src="x.gif">

vai criar um botao que vai para a pagina php que vai ter o codigo para eliminar, e vai pegar no id da linha que pretendes, a imagem foi para ficar mais estetico este tem uma X

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.