Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: AdvAjax - prośba o przykład.
Forum PHP.pl > Forum > XML, AJAX > AJAX
general_lopez
Cześć.

Chcę zrobić sobie takie sortowanie jak tu,
ale nie można pobrać przykładów z ftp(404).

Było też o tym pisane tu , ale nic mi to nie daje.

Prosiłbym więc o podrzucenie mi tego kodu, lub innego systemu pozwalającego sortować dane w tabeli ajaxem.

Pozdrawiam. guitar.gif
dr_bonzo
http://advajax.anakin.us/phpsolutions/2.js
przeciez wszystko jest w zrodlach

No chyba ze chodzi ci jeszcze o pobranie danych z bazy -- ale to juz proscizna -- pobierasz posortowane i wyswietlasz.
Czy chodzi ci tylko o posortowanie wyswietlanego fragmentu wynikow?
general_lopez
Z błędami xml już sobie poradziłem.

Jak powinien wyglądać plik 2.php? Tzn jak powinien mieć skonstruowane generowanie zapytania?
skowron-line
advajax
zobacz 3 paragraf i napisz zapytanie ktore jako warunke bedzie pobieralo zmienne z tablicy GET
general_lopez
Od trzech dni staram się stworzyć taki plik generujący dobry xml - bo przypuszczam, że to w nim leży cały mój problem.

  1. <?
  2.  
  3. header("Content-type: text/xml; charset=windows-1250");
  4. echo '<?xml version="1.0" encoding="UTF-8"?>';
  5. include("mysql.php");
  6. pol_mysql();
  7.  
  8.  $query = mysql_query("SELECT * FROM tabela WHERE id_uzytkownika=1 LIMIT 0,10");
  9. $total = mysql_num_rows($query);
  10. echo '<records total="' . $total . '" count="10" max_per_page="10" page="0">';
  11.  while ($row = mysql_fetch_array($query)){
  12.  echo '<record>';
  13.  echo '<name>'.$row[2].'</name>';
  14.  // echo '<surname>'.$row[1].'</surname>';
  15.  echo '<telephone>'.$row[3].'</telephone>';
  16.  echo '</record>';
  17.  }
  18.  
  19. echo '</records>';
  20.  
  21. ?>


Rekordy wyświetla tylko w pliku 2.php(w docelowym 2.html nic nie wyświetla) - wiele razy próbowałem wykombinować z tego kawałka kodu jaka ma być ta zmienna co do sortowania i jak ma być wstawiana. Bezskutecznie.

  1. var currentPage = 0;
  2. var currentSort = "";
  3. var currentSortOrder = "ASC";
  4. var maxPage;
  5. var defaultTableData;
  6.  
  7. function $(id) {
  8.  
  9. return document.getElementById(id);
  10. }
  11.  
  12. function parseRecords(xml) {
  13.  
  14. with (xml.getElementsByTagName("records").item(0)) {
  15. page = getAttribute("page")*1;
  16. maxPerPage = getAttribute("max_per_page");
  17. startId = maxPerPage*page+1;
  18. total = getAttribute("total")*1;
  19. maxPage = Math.ceil(total/maxPerPage);
  20. $("dataStats").innerHTML =
  21. "Rekordy: " + startId + " - " + (startId+getAttribute("count")*1-1) + " z " + total + " (Strona: " +
  22. (page+1) + " z " + maxPage + ")";
  23. }
  24. $("btnFirst").style.visibility = $("btnPrev").style.visibility = page == 0 ? "hidden" : "visible";
  25. $("btnLast").style.visibility = $("btnNext").style.visibility = page+1 == maxPage ? "hidden" : "visible";
  26.  
  27. d = $("dataTable");
  28. for (i = d.rows.length-1; i >= 0; i--)
  29. d.deleteRow(i);
  30. record = xml.getElementsByTagName("record");
  31. result = "";
  32. for (i = 0; i < record.length; i++) {
  33. tr = document.createElement("tr");
  34. td = document.createElement("td");
  35. td.innerHTML = startId + i;
  36. tr.appendChild(td);
  37. for (j = 0; j < 3; j++) {
  38. td = document.createElement("td");
  39. td.innerHTML = record[i].childNodes[j].childNodes[0].nodeValue;
  40. tr.appendChild(td);
  41. }
  42. d.appendChild(tr);
  43. }
  44. return result;
  45. }
  46.  
  47. function getRecords() {
  48.  
  49. advAJAX.get({
  50. url : "2.php"
  51. onInitialization : function() {
  52.  
  53. $("dataStats").innerHTML = '<span style="font-weight: bold">Pobieranie danych...</span>';
  54. $("btnPrev").style.visibility = "hidden";
  55. $("btnNext").style.visibility = "hidden";
  56. $("btnFirst").style.visibility = "hidden";
  57. $("btnLast").style.visibility = "hidden";
  58. },
  59. onSuccess : function(obj) {
  60.  
  61. parseRecords(obj.responseXML);
  62. }
  63. });
  64. }
  65.  
  66. function changeSort(s) {
  67.  
  68. if (currentSort == s)
  69. currentSortOrder = currentSortOrder == "ASC" ? "DESC" : "ASC"; else {
  70. currentSortOrder = "ASC";
  71. if (currentSort != "")
  72. $(currentSort + "Sort").style.fontWeight = "normal";
  73. $(s + "Sort").style.fontWeight = "bold";
  74. }
  75. currentSort = s;
  76. changePage(0);
  77. }
  78.  
  79. function changePage(p) {
  80.  
  81. currentPage += p;
  82. getRecords();
  83. }
  84.  
  85. function initDynamicTable() {
  86.  
  87. changeSort("surname");
  88. }


Bo najbardziej zależy mi na sortowaniu. Mógłby ktoś pomóc przy tych zmiennych - w wortalu.php.pl też nie jest ten przykład opisany. Przykładów ze strony głównej AdvAJAX od dłuższego czasu nie da się pobrać sadsmiley02.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.