Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> AJAX + DELETE rekord + Jquery
ex53
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.07.2010

Ostrzeżenie: (0%)
-----


Witam,

Tworze mały system zarządzania aktualnościami na stronie.

1)Listuje mi poszczególne aktualności z bazy danych - przy każdej z nich jest opcja edycji oraz usunięcia.

Postać linku wygląda tak:
@$result="SELECT id,tytul,data,foto1,tekst FROM aktualnosci ORDER BY data DESC";
@$aktualnosci=mysql_query("SET NAMES 'utf8'");
@$aktualnosci=mysql_query($result);

while($row=mysql_fetch_array($aktualnosci)){
<a id="usun" href="index.php?strona=dodawanie&amp;akcja=usun&amp;id='.$row['id'].'">usuń</a>
}



Gdy kliknie się USUŃ wykonuje się jQuery ConfirmDialog i wyskakuje komunikat czy chce na pewno usunąć, skrypt jQuery wygląda tak:


</script>
<script type="text/javascript">
$(function() {

$(".dialog-confirm").dialog({
resizable: false,
modal: true,
height:240,
autoOpen: false,

buttons: {
'Usuń': function() {
$(this).dialog('close');
},
Anuluj: function() {
$(this).dialog('close');
}
}
});
$('#usun').click(function() {
$('.dialog-confirm').dialog('open');
return false;
});

});
</script>

PHP tak:


//DIALOG
echo '<div class="dialog-confirm" title="Potwierdzenie usunięcia">';
echo'<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Aktualność zostanie usunięta.Czy jesteś pewien, aby kontynuować usuwanie?</p>';
echo '</div>';


PROBLEM:

Nie wiem jak dopisać akcje(funkcje) do poszczególnych buttonów (USUŃ/ANULUJ) . Anuluj jest załatwione bo poprostu DIALOG.close.
Chciałbym aby po kliknięciu USUŃ wykonał się skrypt PHP:

$id_do_usuniecia = $_GET['id'];
if ($_GET['akcja']=='usun') {


$zapytanie ="DELETE FROM aktualnosci WHERE id=$id_do_usuniecia";
$wynik = mysql_query($zapytanie) or die ('Nie usunięto produktu, błąd: ' . mysql_error());
}


Wiadomo wszystko działa, gdy nie ma jQuery .
Z tego co wiem to trzeba zapisać do innego pliku kod PHP usuwający z DB i wywołać go AJAXem , ale za nie wiem jak i wierze że mi w tym pomożecie.
Z tego co jeszcze widzę to gdy mam jQuery to po kliknięciu na usuń nie jest wczytywany odpowiedni adres jak w linku :

index.php?strona=dodawanie&amp;akcja=usun&amp;id='.$row['id'].'

gdyż nie jest przeładowana strona.

To tyle moich uwag, czekam na wasze. Wierze, że to nie wymaga zbytniej pracy i to tylko jakiś mały pikuśsmile.gif Ale póki co nie potrafię, ale już nie długo.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
thomson89
post
Post #2





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


1. Nie hashuj nigdy linijek.
2. Używaj BBCode
3. Zobacz tu oraz przejrzyj to.

Jak odkopię swój kodzik który ci się powinien przydać to zedytuje post.

--EDIT:

[JAVASCRIPT] pobierz, plaintext
  1. $.post("skrypt2.php", { text: text, akcja: akcja}, //nazwa zmiennej dla php : wartosc (lub na odwrot ; P)
  2. function(result){ //co ma sie dziać po wykonaniu
  3.  
  4. $('#result3').html(result); //to co zwróci php przekazałem do diva result3
  5.  
  6. });
[JAVASCRIPT] pobierz, plaintext


--EDIT2:

Dajesz swoje PHP do osobnego pliku. Dopisujesz do usuń jakiś kod, który sobie wybierzesz (w linkach podałem i tu wyżej też) tak żeby wykonał ten PHP.

Ten post edytował thomson89 19.07.2010, 22:02:39


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
ex53
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.07.2010

Ostrzeżenie: (0%)
-----


Nie do końca chyba rozumiem to co napisałeś..Mógłbyś jaśniej.
Mam dodać to w taki sposób? Potrzebuje jeszcze pobrać zmiennych, które mają być przekazane do PHP.
Nie trzeba tutaj wykonywać XMLHttpRequest?

Kod
buttons: {
'Usuń': function() {
   $.post("skrypt2.php", { text: text, akcja: akcja}
   function(result){    
      $(this).dialog('close');
   }
},
Anuluj: function() {
$(this).dialog('close');
}
}
});
Go to the top of the page
+Quote Post
thomson89
post
Post #4





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Tak, dokładnie tak jak robisz i powinno działać. Tylko pozmieniaj dane w linijce z $.post. Ale to powinieneś dodać niżej, tam gdzie ustawiasz funkcje dla kliknięcia w "usuń"


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
ex53
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.07.2010

Ostrzeżenie: (0%)
-----


Jak dodam w ten sposób to jquery przestaje działać.
Mianowicie treść która ma się wyświetlić w dialog-confirm odrazu zostaje pokazana. A gdy klikam usuń to nie wyskakuje okno dialog z potwierdzenniem
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:21