Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie zmiennej z adresu i wysyłanie jej
Forum PHP.pl > Forum > XML, AJAX
trigar
rolleyes.gif Witam. Pojawił mi się niestety kolejny problem. Kończę pisać skrypt wysyłający i pobierający komentarze z MySql bez przeładowania strony. Skrypt działa dość dobrze problem pojawił się gdy chciałem podpiąć go do reszty. Mianowicie mam dwa pliki pierwszy to komentarze.php gdzie mam zapytania odnośnie komentarzy (pobieranie i dodawanie do bazy), Drugi to odczytywanie innych danych z bazy po numerze id zawartym w adresie. Dodawanie działa dobrze bo w formularzu wysyłającym w tle wysyłam id pliku do jakiego dodaje komentarz, ale pobieranie nie gdyż pobiera mi wszystkie komentarze. Nie wiem jak teraz wysłać zmienną z adresu do komentarze.php aby dodać ją do SELECT ? Jak można to zrobić ?
erix
Pokaż kawałek kodu.
trigar
plik komentarze.php

  1. <?
  2. include ('../glowne.php');
  3.  
  4. if(!$_POST['action']){
  5. header ("Location: index.html");
  6. }
  7. else{
  8. switch($_POST['action']){
  9. case "update":
  10. $res = @mysql_query("SELECT * FROM komentarze");
  11. while($row = mysql_fetch_array($res)){
  12. $result .= "<li><strong>".$row['dodal']."</strong><img src=\"css/images/bullet.gif\" alt=\"-\" />".$row['tresc']."</li>";
  13. }
  14. echo $result;
  15. break;
  16. case "insert":
  17. $query = sprintf("INSERT INTO komentarze(dodal, tresc, idpliku) VALUES('%s', '%s', '%s');", mysql_real_escape_string(strip_tags($_POST['nick'])), mysql_real_escape_string(strip_tags($_POST['tresc'])), mysql_real_escape_string(strip_tags($_POST['idkomenta'])));
  18. $res = @mysql_query($query);
  19. break;
  20. }
  21. }
  22. ?>


komentarze.js

  1. $(document).ready(function(){
  2.  
  3. var inputUser = $("#nick");
  4. var inputMessage = $("#tresc");
  5. var idkomenta = $("#idkomenta");
  6. var loading = $("#loading");
  7. var messageList = $(".content > ul");
  8.  
  9. function odswiezKomenty(){
  10. messageList.hide();
  11. loading.fadeIn();
  12. $.ajax({
  13. type: "POST", url: "komentarze.php", data: "action=update",
  14. complete: function(data){
  15. loading.fadeOut();
  16. messageList.html(data.responseText);
  17. messageList.fadeIn(2000);
  18. }
  19. });
  20. }
  21.  
  22. function sprawdzaniePol(){
  23. if(inputUser.attr("value") && inputMessage.attr("value"))
  24. return true;
  25. else
  26. return false;
  27. }
  28.  
  29. odswiezKomenty();
  30.  
  31. $("#form").submit(function(){
  32. if(sprawdzaniePol()){
  33. var nick = inputUser.attr("value");
  34. var message = inputMessage.attr("value");
  35. var idkom = idkomenta.attr("value");
  36.  
  37. $("#dodajkomenta").attr({ disabled:true, value:"Dodawanie" });
  38. $("#dodajkomenta").blur();
  39. $.ajax({
  40. type: "POST", url: "komentarze.php", data: "action=insert&nick=" + nick + "&message=" + message + "&idkomenta=" + idkom,
  41. complete: function(data){
  42. messageList.html(data.responseText);
  43. odswiezKomenty();
  44. $("form").hide();
  45. $('div.error').hide();
  46. $('div.sukces').fadeIn();
  47. }
  48. });
  49. }
  50. else $('div.error').fadeIn();
  51. return false;
  52. });
  53. });


index.html

  1. <script type="text/javascript" src="jquery.js"></script>
  2. <script type="text/javascript" src="komentarz.js"></script>
  3. </head>
  4. <div class="error" style="display: none;">
  5. <p>Uzupelnij wszystkie pola</p>
  6. </div>
  7. <div class="sukces" style="display: none;">
  8. <p>Komentarz został dodany</p>
  9. </div>
  10.  
  11. <form method="post" id="form">
  12.  
  13. <tr>
  14. <td>Nick</td>
  15. <td><input id="nick" type="text" MAXLENGTH="25" /></td>
  16. </tr>
  17. <tr>
  18. <td>Treść</td>
  19. <td><input id="tresc" type="text" MAXLENGTH="255" /></td>
  20. </tr>
  21. <tr>
  22. <td>
  23. <input type="hidden" id="idkomenta" value="2" >
  24. <input id="dodajkomenta" type="submit" value="Wyslij" /></td>
  25. </tr>
  26. </table>
  27.  
  28. </form>
  29. <div class="content">
  30. <div id="loading"><img src="img/loading.gif" alt="Ładowanie" /></div>
  31. <ul>
  32. <ul>
  33. </div>
erix
  1. $res = @mysql_query("SELECT * FROM komentarze");

To dodaj tu warunek. smile.gif
trigar
To wiem, że wystarczy dodać WHERE. Chodzi o to że tam gdzie mam użyty skrypt mam w adresie id pliku skąd pobierane mam dane. Zmienna wpisana jest jako $id. I teraz chodzi o wysłanie zmiennej $id do pliku komentarze.php w tle.
W pliku downlaod.php mam zmienna $id,
a w pliku komentarze.php mam warunek do komentarzy.
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.