Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuwanie rekordów AJAX
Forum PHP.pl > Forum > Przedszkole
peklo
Witam
Mam mały problem z usunieciem rekordu za pomocą AJAX z mysl. Skrypt niby działa zdjecie znika ze strony ale nie z bazy danych. Tak jak jakby nie pobierał zmiennej do usun.php.

Kod
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("body").on("click", "#responds .del_button", function(e) {
         e.returnValue = false;
         var clickedID = this.id.split('-');
         var DbNumberID = clickedID[1];
         var myData = 'recordToDelete='+ DbNumberID;
            jQuery.ajax({
            type: "POST",
            url: "usun.php",
            dataType:"text",
            data:myData,
            success:function(response){
                $('#item_'+DbNumberID).fadeOut("slow");
            },
            error:function (xhr, ajaxOptions, thrownError){
                alert(thrownError);
            }
            });
    });

});
</script>


  1. <table>
  2. <tr>
  3. <td height="40"><input name='id' type='hidden' value="<?php echo $ogloszenia['id'] ?>" ><input type="text" id="nazwa_ogloszenia" value="<?php echo $ogloszenia['nazwa_ogloszenia'] ?>" name="nazwa_ogloszenia" />
  4. </td>
  5. </tr>
  6. <tr>
  7. <td colspan="2">
  8. <ul id="responds">
  9. <?php
  10. foreach ($ogloszenia['zdjeciak'] as $zdjecia)
  11. {
  12. echo '<li id="item_'.$zdjecia["id"].'">';
  13. echo '<div class="del_wrapper"><a href="#" class="del_button" id="del-'.$zdjecia["id"].'">';
  14. echo '<img src="icon_del.gif" border="0" />';
  15. echo '</a></div>';
  16. echo '<img src="/ogloszenia/'.$zdjecia['uploads'].$zdjecia['thumb'] .'"/>';
  17. echo "<input type='text' id='id' value=\"".$zdjecia['id']."\" name='id' />";
  18. echo'</li>';
  19. }
  20. ?>
  21. </ul>
  22. </td>
  23. </tr>
  24. </table>


i plik usun.php

  1. <?php
  2. $sql ="DELETE FROM zdjecia where id=:id";
  3. $stmt = $con->prepare( $sql );
  4. $stmt->bindValue(':id',$_POST["id"], PDO::PARAM_STR);
  5. $stmt->execute();
  6. ?>
nospor
ajaxem wysylasz dane w: recordToDelete
a w php radosnie odbierasz sobie ID zamiast recordToDelete.....

przenosze na przedszkole i tam zakladaj swoje tematy.
I poraz ostatni podsylam ci ten link
Temat: Jak poprawnie zada pytanie
ze wskazowkami jak sprawdzac swoje skrypty
peklo
ok dzieki
trueblue
  1. var myData = {'recordToDelete': DbNumberID}

albo bezpośrednio:
  1. data: {'recordToDelete': DbNumberID}

w PHP otrzymasz id w $_POST['recordToDelete']

P.S. Pamiętaj aby uniemożliwić usuwanie zdjęć innego użytkownika niż zalogowany (jeśli jest to system z logowaniem).
nospor
trueblue to co podales to inne metoda na zrobienie tego co juz ma. Problemem bylo to, ze w post szukal innych danych niz wysylal.
trueblue
Racja, byłem przekonany, że parametr data przyjmuje tylko obiekt.
peklo
trueblue dobre spostrzezenie z tym usuwaniem zdjęć przez zalogowanego uzytkownika i właściciela zdjec:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.