eliok10 Posted May 28, 2014 at 08:50 PM Report #557423 Posted May 28, 2014 at 08:50 PM 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!
I-NOZex Posted May 28, 2014 at 09:37 PM Report #557430 Posted May 28, 2014 at 09:37 PM (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 May 28, 2014 at 09:39 PM by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
eliok10 Posted May 29, 2014 at 07:04 AM Author Report #557465 Posted May 29, 2014 at 07:04 AM 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?
bioshock Posted May 29, 2014 at 08:36 AM Report #557469 Posted May 29, 2014 at 08:36 AM 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á.
I-NOZex Posted May 29, 2014 at 10:20 AM Report #557511 Posted May 29, 2014 at 10:20 AM tal como o bioshock disse 😉 sem esquecer de uma validaçao server-side (se o id é válido) B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
eliok10 Posted June 2, 2014 at 08:49 PM Author Report #557978 Posted June 2, 2014 at 08:49 PM 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??
I-NOZex Posted June 2, 2014 at 08:55 PM Report #557980 Posted June 2, 2014 at 08:55 PM (edited) neste exemplo, num ficheiro na mesma pasta, com o nome apagar.php Edited June 2, 2014 at 08:55 PM by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
HappyHippyHippo Posted June 2, 2014 at 09:17 PM Report #557988 Posted June 2, 2014 at 09:17 PM vou-te escrever um exemplo básico de como seria a adaptação para ajax ... usando jQuery IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
eliok10 Posted June 2, 2014 at 09:21 PM Author Report #557990 Posted June 2, 2014 at 09:21 PM 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!
I-NOZex Posted June 2, 2014 at 10:14 PM Report #558002 Posted June 2, 2014 at 10:14 PM (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 June 2, 2014 at 10:16 PM by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
shuhitu Posted June 18, 2019 at 02:45 PM Report #615102 Posted June 18, 2019 at 02:45 PM http://www.welookups.com/php/php_mysql_delete.html
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now