Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Problem z AJAX
Forum PHP.pl > Forum > Przedszkole
samuello
Cześć !

Próbuję stworzyć malutki skrypt oceny. Jest plik główny, w którym znajdują sie linki z odpowiednim "id" i "name". Po kliknięciu w link AJAX przesyła wartość id i name do skryptu php, który aktualizuje bazę danych. Kod AJAX zaczerpąłem z jakiegoś tutorialu. Niestety to co stworzyłem nie chce działać i nie mam już pomysłu co jest źle w kodzie... Proszę o pomoc i wskazanie miejsca błędu. Dla uproszczenia plik główny ograniczyłem do minimum, a więc same linki. Podobnie z plikiem PHP - same updaty bazy danych aby testować działanie systemu oceniania... Poniżej kody:

Plik główny:
  1. <script type="text/javascript" src="java/voteupdown.js"></script>
  2. </head>
  3.  
  4.  
  5. <div class="up"><a href="" class="vote" id="21" name="up">21</a></div>
  6. <div class="down"><a href="" class="vote" id="21" name="down">21</a></div>
  7.  
  8.  
  9. </body>
  10. </html>


AJAX:
  1. $(function() {
  2. $(".vote").click(function()
  3. {
  4. var id = $(this).attr("id");
  5. var name = $(this).attr("name");
  6. var dataString = 'id='+ id + '&name='+ name;
  7. var parent = $(this);
  8.  
  9. if (name =='down')
  10. {
  11. $(this).fadeIn(200).html('<img src="img/loading.gif" height="20" width="20" />');
  12. $.ajax({
  13. type: "POST",
  14. url: "glosuj.php",
  15. data: dataString,
  16. cache: false,
  17.  
  18. success: function(html)
  19. {
  20. parent.html(html);
  21. }
  22. });
  23. }
  24. else
  25. {
  26. $(this).fadeIn(200).html('<img src="img/loading.gif" height="20" width="20" />');
  27. $.ajax({
  28. type: "POST",
  29. url: "glosuj.php",
  30. data: dataString,
  31. cache: false,
  32.  
  33. success: function(html)
  34. {
  35. parent.html(html);
  36. }
  37. });
  38. }
  39. return false;
  40. });
  41. });


PHP:
  1. <?php
  2. include("connect.php");
  3.  
  4. if($_POST['id'])
  5. {
  6. $id = $_POST['id'];
  7. $name = $_POST['name'];
  8.  
  9. $zapytanie = mysql_query("SELECT `glosy`, `suma` FROM `foto` WHERE `id`='$id'");
  10. $promote = mysql_fetch_array($zapytanie);
  11.  
  12. if ($name == 'up')
  13. {
  14. $czeka = "UPDATE foto SET glosy='$id', suma=suma+1 WHERE id='$id'";
  15. mysql_query($czeka);
  16. }
  17. if ($name == 'down')
  18. {
  19. $sql = "UPDATE foto SET suma='$id' WHERE id='$id'";
  20. mysql_query( $sql);
  21. }
  22.  
  23. }
  24. ?>
potreb
Sprawdź przede wszystkim w firebugu czy nie wywal ci błędów. A jak nie to później w PHP.
manion
$(function() i $.ajax(-> te funkcje pochodzą z frameworka jQuery,
aby ta funkcja zadziałała musiałbyś dodatkowo do pliku dołączyć bibliotekę jQuery wspierająca pisanie w javascript
samuello
Dziękuję za pomoc. Dodanie tej biblioteki pomogło ! smile.gif
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.