Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP][MySQL]Zaczytanie danych z MySQL do tablicy przez jQuery
ksviper
post 9.01.2017, 22:25:56
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 9.01.2017

Ostrzeżenie: (0%)
-----


Witam,
mam mały problem z zaczytaniem danych pobranych z MySQL do tabeli Bootstrap/Footable3.

Kod
<table class="table footable table-striped table-hover table-condensed table-responsive" data-show-toggle="true" data-filtering="true" data-paging="true" data-sorting="true" data-filter-delay="100" data-filter-min="3" data-filter-dropdown-title="Szukaj" data-filter-placeholder="Szukaj" data-paging-size="15"></table>


Za pomocą
Kod
jQuery(function($){
            $('.table').footable({
                "columns": jQuery.get("columns.json")
            });
        });

ustawiam dane kolumn. Tutaj wszystko jest ok.

Kod
$.getJSON("lk.json",function(data){
            var items = [];
            $.each(data,function(key,val){
                items.push("<tr>");
                items.push("<td id=''"+key+"''>"+val.id+"</td>");
                items.push("<td id=''"+key+"''>"+val.sname+"</td>");
                items.push("<td id=''"+key+"''>"+val.city+"</td>");
                items.push("<td id=''"+key+"''>"+val.tel+"</td>");
                ...
                items.push("</tr>");
            });
            $("<tbody/>",{html:items.join("")}).appendTo("table");
        });

I tu także jest ok. Dane z pliku json wczytują się bez najmniejszego problemu. Plik ten generuję sobie co jakiś określony czas.
Problem mam jednak taki, że dane w tym pliku szybko dezaktualizują się a dodatkowo nie chcę aby plik json był dostępny dla wszystkich. Wrzucenie go do innego katalogu i umieszczenie pliku .htaccess z zapisem "deny from all" nic nie da, ponieważ sam jquery go nie pobierze.
Wpadłem na pomysł aby plik json był generowany przez plik php
Kod
...
while ($row=mysqli_fetch_array($result)){
    $data[] = array(
    'id' => $ll,
    'sname' => stripslashes(trim($row['nazw'])),
    'city' => stripslashes(trim($row['miejsce'])),
    'tel' => stripslashes(trim($row['telefon'])),
...);
$ll++;
}
echo json_encode($data);

gdzie w $data mam tablicę z danymi do wyrzucenia.
Sam plik wykonuje się bez błędów i "drukuje" to co powinien. Jednak taki plik nie chce się wczytać przez jQuery.
Ilość danych do zaczytania do tablicy jest duża i szybko rośnie, w związku z tym chciałem aby dane zaczytały się przez AJAX.
Jednym zdaniem: statyczny plik json zaczytuje się bez problemu, dynamicznie generowany w php nie zaczytuje się.
Macie jakiś pomysł jak to ugryźć?

Problem udało mi się rozwiązać. Męczyłem się z tym ok. tygodnia.
"Uruchamianie" tabeli i ładowanie danych do niej
Kod
jQuery(function ($) {
        jQuery('.footable').footable({
            "columns": $.get('columns.json'),
            "rows": $.get('lk.php')
        });
    });


Natomiast końcówka pliku lk.php (generującego plik json)
Kod
header("Content-Type: application/json");
echo json_encode($data);
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 11:01