Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]kolejność dynamicznie dodawanych rekordów
Forum PHP.pl > Forum > Przedszkole
arek33
Witam,

Dziś borykam się z problemem dodawania rekordu w sposób dynamiczny. Zapisywanie do bazy działa, dynamiczne wyświetlanie również. Jednak mam problem z kolejnością wyświetlania rekordów. Chciałbym, aby nowe wpisy wyświetlały się na górze listy, a nie pod spodem. Czy ktoś może nakierować mnie, która część js odpowiada za kolejność wyświetlania nowego, dodanego rekordu? Sortowanie w zapytaniu działa dopiero po odświeżeniu strony.

go.php
  1. include_once("config.php");
  2.  
  3. if(isset($_POST["txt"]) && strlen($_POST["txt"])>0){
  4. $contentToSave = filter_var($_POST["txt"],FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
  5.  
  6. if(mysql_query("INSERT INTO msgs SET user_id='".$_GET['user_id']."', txt='".$contentToSave."', date='".date("Y-m-d H:i:s")."'"))
  7. {
  8. $my_id = mysql_insert_id();
  9.  
  10. echo '<li id="item_'.$my_id.'">';
  11. echo '<p class="txt"><b>'.$_GET['user_id'].'</b><br>'.$contentToSave.'</p>';
  12. echo '</li>';
  13.  
  14. }else
  15. header('HTTP/1.1 500 Looks like mysql error, could not insert record!');
  16. exit();
  17. }
  18.  
  19. }
  20. else
  21. {
  22. //Output error
  23. header('HTTP/1.1 500 Error occurred, Could not process request!');
  24. exit();
  25. }


index.php
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.  
  4. $(".submit").click(function (e) {
  5. e.preventDefault();
  6. if($("#Txt").val()==='')
  7. {
  8. alert("Napisz coś...");
  9. return false;
  10. }
  11. var myData = 'txt='+ $("#Txt").val();
  12. jQuery.ajax({
  13. type: "POST", // HTTP method POST or GET
  14. url: "go.php?user_id=1",
  15. dataType:"text",
  16. data:myData,
  17. success:function(response){
  18. $("#od").append(response);
  19. $("#Txt").val('');
  20. },
  21. error:function (xhr, ajaxOptions, thrownError){
  22. alert(thrownError);
  23. }
  24. });
  25. });
  26.  
  27. });
  28. </script>
  29. </head>
  30. <body>
  31.  
  32. <form action="<?php $_SERVER['PHP_SELF']?>" method="post" class="od">
  33. <input type="text" name="txt" id="Txt">
  34. <button class="submit">+</button>
  35. </form>
  36.  
  37. <ul id="od">
  38. <?php
  39. include_once("config.php");
  40.  
  41. //MySQL query
  42. $od = mysql_query("SELECT * FROM msgs");
  43. if(mysql_num_rows($od)>0){
  44. while($row = mysql_fetch_array($od))
  45. {
  46. echo '<li id="item_'.$row["id"].'" class="li">';
  47. echo '<p class="txt">'.$row["txt"].'</p>';
  48. echo '</li>';
  49. }
  50. }
  51. else{
  52. echo '<div class="od">';
  53. echo '<p class="tc null"><i>null.</i></p>';
  54. echo '</div>';
  55. }
  56. ?>
  57. </ul>
ghost1511
  1. SELECT * FROM msgs ORDER BY date DESC
Damonsson
[JAVASCRIPT] pobierz, plaintext
  1. success:function(response){
  2. $("#od").prepend(response);
  3. $("#Txt").val('');
  4. },
[JAVASCRIPT] pobierz, plaintext
arek33
@ghost, pisałem że ustawienie sortowania działa tylko po odświeżeniu strony, a to mnie nie satysfakcjonuje smile.gif

@Damonsson, dzięki za wskazanie błędu! Aż dziw bierze, że taki banał przeskoczyłem 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.