Jump to content

Recommended Posts

Posted

Boas, sou um amador/iniciante nisto e estou com um dilema que não consigo resolver, é o seguinte:

Estou a criar um Backoffice que gere os artigos do meu site:

http://puu.sh/95gwK/1115c780e9.png

Contudo, queria chamar as funções da mesma página e não ir buscar a outras páginas, por exemplo, quando clicar em apagar nao ir buscar a pagina "apagar.php?id=5"..

Como faço para quando clico em apagar no primeiro artigo ele apenas apagar aquela noticia?

Obrigado!

Posted (edited)

nao fazes, tem que haver um request!

e das duas uma, ou um request HTTP normal por POST ou GET, ou um request via ajax (assim nao sais da pagina atual)

podes ter as funçoes na mema pagina, e verificas se ha um pedido valido para efetuar o delete, mas convinha teres uma pagina que gerisse esses pedidos...

Edited by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net
Posted

nao fazes, tem que haver um request!

e das duas uma, ou um request HTTP normal por POST ou GET, ou um request via ajax (assim nao sais da pagina atual)

podes ter as funçoes na mema pagina, e verificas se ha um pedido valido para efetuar o delete, mas convinha teres uma pagina que gerisse esses pedidos...

Obrigado pela resposta!

Então sugeres que envie o id do artigo por GET e depois numa página "apagar.php?id=1" por exemplo tenha a função que apague o artigo e que faça um "load" para a página anterior de 1 segundo por exemplo?

Posted

O ideal é a utilização do ajax.

Olhando para a estrutura de imagem que colocaste aqui, vou-te escrever um exemplo básico de como seria a adaptação para ajax.

<table>
 <tr id='3'>
<td>Titulo qualquer</td>
<td><img src='apagar.png' class='delete'/></td>
 </tr>
</table>

Portanto, cada linha da tabela deve ter o ID referente ao produto, para que esse mesmo ID seja lido pelo ajax para determinar qual o item que deve ser eliminado após se clicar na imagem apagar.png.

$(document).on('click', '.delete', function(){

$tr = $(this).closest('tr');

$.ajax({
	type: "POST",
	url: "apagar.php",
	data: {id: $tr.attr('id')}
	success: function(data){
		$tr.remove();
	}
});
});

Por fim, do lado do ficheiro apagar.php, terás de eliminar o item com aquele ID.

if(isset($_REQUEST['id'])){

 $item->delete($_REQUEST['id']); // exemplo
}

O código não foi testado, mas em princípio funcionará.

Posted

O ideal é a utilização do ajax.

Olhando para a estrutura de imagem que colocaste aqui, vou-te escrever um exemplo básico de como seria a adaptação para ajax.

<table>
 <tr id='3'>
<td>Titulo qualquer</td>
<td><img src='apagar.png' class='delete'/></td>
 </tr>
</table>

Portanto, cada linha da tabela deve ter o ID referente ao produto, para que esse mesmo ID seja lido pelo ajax para determinar qual o item que deve ser eliminado após se clicar na imagem apagar.png.

$(document).on('click', '.delete', function(){

$tr = $(this).closest('tr');

$.ajax({
	type: "POST",
	url: "apagar.php",
	data: {id: $tr.attr('id')}
	success: function(data){
		$tr.remove();
	}
});
});

Por fim, do lado do ficheiro apagar.php, terás de eliminar o item com aquele ID.

if(isset($_REQUEST['id'])){

 $item->delete($_REQUEST['id']); // exemplo
}

O código não foi testado, mas em princípio funcionará.

Obrigado pela resposta, mas há algo que não entendi... Onde fica a parte em que ele apaga o artigo da base de dados??

Posted

neste exemplo, num ficheiro na mesma pasta, com o nome apagar.php

Sei que já é pedir de mais mas necessito mesmo disto..

Era muito mau se te pedisse que me fizesses um mini-exemplo do apagar.php já com a base de dados? Só para ter uma noção, estou às brancas.

Obrigado por tudo!

Posted (edited)

neste mundo temos que ser muito autodidatas, e isso envolve muito pesquisar e saber pesquisar, fica a dica 😉

tens montes de sites onde podes ir, inclusive a documentaçao php que ate a acho muito bem documentada, bem como um dos mais conhecidos sites, w3schools, do qual deixo aqui um link para a tua questao:

http://www.w3schools.com/php/php_mysql_delete.asp

e pesquisa mais sobre (my)SQL e as funções que o php oferece para gerir dados de uma bd, em especial mysqli se trabalhares com mysql, ou pdo, se for uma outra dbms

Edited by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net
  • 5 years later...

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.