Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAJAX] problem ze stronicowaniem
Forum PHP.pl > Forum > XML, AJAX > AJAX
krolp
mam problem ze skryptem pobranym ze strony advAJAX odnosnie stronicowania stron. stworzylem wlasny plik xml ktory drukuje sie w nastepujacy sposob:

  1. header("Content-type: text/xml; charset=windows-1250");
  2. echo '<?xml version="1.0" encoding="UTF-8"?>';
  3.  
  4. $dbhost = "--";
  5. $dblogin = "--";
  6. $dbhaslo = "--";
  7. mysql_connect ($dbhost, $dblogin, $dbhaslo) or die ("Nie masz uprawnien");
  8.  $query = mysql_db_query($dblogin, "SELECT * FROM liga_sedzia LIMIT 11");
  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[1].'</name>';
  14.      echo '<surname>'.$row[2].'</surname>';
  15.      echo '<telephone>'.$row[11].'</telephone>';
  16.      echo '</record>';
  17.  }
  18.  
  19. echo '</records>';

a poza tym nic nie zmienialem w skrypcie nie wiem co jest przyczyna ze nie stronicuje mi ani nie sortuje.

prosze o pomoc. jak to naprawde dziala mozecie zobaczyc
tutaj
nospor
"SELECT * FROM liga_sedzia LIMIT 11"
No przeciez ty za kazdym razem walisz tego samego selecta, ktory pobiera te same dane. ani tu nie ma sortowania,ani stronicowania, wiec czemu sie dziwisz? Myslisz ze samo sie zrobi?
krolp
przeciez napisalem jaki skrypt wzialem!!! jakby mi zalezalo na stronicowaniu z przeladowaniem to bez problemu bym sobie poradzil, ale mi chodzi o przyklad ze strony anakin.
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>advAJAX - Przykład 2.</title>
  4. <style type="text/css">
  5. body, td { font-family: Verdana; font-size: 9pt }
  6. table { border-collapse: collapse; width: 500px }
  7. td { padding: 6px 15px; border-bottom: 1px solid #ebebe4 }
  8. thead td, tfoot td { background-color: #ebebe4 }
  9. thead td { border-bottom: 1px solid #c0c0c0; border-top: 1px solid #c0c0c0; padding: 5px 15px }
  10. thead td a { color: #000000 }
  11. tfoot td { border-top: 2px solid #c0c0c0; border-bottom: 1px solid #c0c0c0 }
  12. tfoot td a { display: block; padding: 2px 5px; border: 1px outset; float: left; border: 1px solid #c0c0c0; background-color: #ffffff; color: #000000; text-decoration: none; margin-left: 5px }
  13. tbody td.loading { text-align: center; padding: 50px 0 }
  14. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  15. <script type="text/javascript" src="advajax.js"></script>
  16. <script type="text/javascript" src="2.js"></script>
  17. </head>
  18. <body onload="initDynamicTable()">
  19.  
  20. <div id="phonebookTable">
  21.  
  22. <tr>
  23. <td>ID</td>
  24. <td><a id="nameSort" href="java script:changeSort('name')" title="Sortowanie po imieniu">Imię</a></td>
  25. <td><a id="surnameSort" href="java script:changeSort('surname')" title="Sortowanie po nazwisku">Nazwisko</a></td>
  26. <td><a id="telephoneSort" href="java script:changeSort('telephone')" title="Sortowanie po numerze telefonu">
  27. Numer telefonu</a></td>
  28.  
  29. </tr>
  30. </thead>
  31. <tbody id="dataTable">
  32. </tbody>
  33. <tr>
  34. <td colspan="4">
  35. <span id="dataStats" style="float: left; margin-top: 2px"></span>
  36. <span style="float: right">
  37.  
  38. <a id="btnFirst" href="java script:changePage(-currentPage)" title="Pierwsza strona">&laquo;&laquo;</a>
  39. <a id="btnPrev" href="java script:changePage(-1)" title="Poprzednia strona">&laquo;</a>
  40. <a id="btnNext" href="java script:changePage(1)" title="Następna strona">&raquo;</a>
  41. <a id="btnLast" href="java script:changePage(maxPage-currentPage-1)" title="Ostatnia strona">&raquo;&raquo;</a>
  42. </span>
  43. </td>
  44. </tr>
  45. </tfoot>
  46.  
  47. </div>
  48.  
  49. </body>
  50. </html>


Kod
    var currentPage = 0;
    var currentSort = "";
    var currentSortOrder = "ASC";
    var maxPage;
    var defaultTableData;
    
    function $(id) {
    
        return document.getElementById(id);
    }
    
    function parseRecords(xml) {

        with (xml.getElementsByTagName("records").item(0)) {
            page = getAttribute("page")*1;
            maxPerPage = getAttribute("max_per_page");
            startId = maxPerPage*page+1;
            total = getAttribute("total")*1;
            maxPage = Math.ceil(total/maxPerPage);
            $("dataStats").innerHTML =
              "Rekordy: " + startId + " - " + (startId+getAttribute("count")*1-1) + " z " + total + " (Strona: " +
              (page+1) + " z " + maxPage + ")";
        }
        $("btnFirst").style.visibility = $("btnPrev").style.visibility = page == 0 ? "hidden" : "visible";
        $("btnLast").style.visibility = $("btnNext").style.visibility = page+1 == maxPage ? "hidden" : "visible";
        
        d = $("dataTable");
        for (i = d.rows.length-1; i >= 0; i--)
          d.deleteRow(i);
        record = xml.getElementsByTagName("record");
        result = "";
        for (i = 0; i < record.length; i++) {
            tr = document.createElement("tr");
            td = document.createElement("td");
            td.innerHTML = startId + i;
            tr.appendChild(td);
            for (j = 0; j < 3; j++) {
                td = document.createElement("td");
                td.innerHTML = record[i].childNodes[j].childNodes[0].nodeValue;
                tr.appendChild(td);
            }
            d.appendChild(tr);
        }
        return result;
    }
    
    function getRecords() {
    
        advAJAX.get({
            url : "spis.php?p="+currentPage+"&s="+currentSort+"%20"+currentSortOrder,
            onInitialization : function() {

                $("dataStats").innerHTML = '<span style="font-weight: bold">Pobieranie danych...</span>';
                $("btnPrev").style.visibility = "hidden";
                $("btnNext").style.visibility = "hidden";
                $("btnFirst").style.visibility = "hidden";
                $("btnLast").style.visibility = "hidden";
            },
            onSuccess : function(obj) {

                parseRecords(obj.responseXML);
            }
        });
    }
    
    function changeSort(s) {
    
        if (currentSort == s)
          currentSortOrder = currentSortOrder == "ASC" ? "DESC" : "ASC"; else {
            currentSortOrder = "ASC";
            if (currentSort != "")
              $(currentSort + "Sort").style.fontWeight = "normal";
            $(s + "Sort").style.fontWeight = "bold";
        }
        currentSort = s;
        changePage(0);
    }
    
    function changePage(p) {
    
        currentPage += p;
        getRecords();
    }
    
    function initDynamicTable() {
    
        changeSort("surname");
    }
nospor
Cytat
przeciez napisalem jaki skrypt wzialem!!
Doskonale widze jaki skrypt wziales

Na stronie anakina tego skryptu nie widzialem, nie wiem jak dziala, ale wiem jak dziala to cudo co tu pokazales. To cudo ani nie stronicuje, a nie nie sortuje, gdyz tego w kodzie nie masz uwzględnionego. Wiec nie krzycz na mnie jak ci sie zwraca uwage odnosnie bledow w kodzie...
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.