2017-02-15 3 views
0

Ich habe eine Tabelle auf meiner Website, die eine neue Zeile hinzufügen soll, sobald es einen neuen Eintrag in meiner Datenbank gibt. Deshalb rufe ich eine PHP-Datei über Ajax an, um den letzten Eintrag in der DB zu überprüfen - ich mache das alle 3 Sekunden.Wie man neue Daten korrekt aus der Datenbank lädt

Es funktionierte ziemlich gut, aber jetzt stellte ich fest, dass meine Website nie fertig geladen wird, es lädt die functions.php nach, in der ich den ganzen Prozess gespeichert habe.

Das kann nicht so sein, wie es gemacht werden soll, kann mich jemand aufklären? :)

Hier sind einige meiner Code:

functions.php

function getBets(){ 

    require_once("mysql_con.php"); 

    $mysql_query = "SELECT id, time FROM access_log ORDER BY id DESC;"; 
    $result = $mysqli->query($mysql_query); 
    $row = $result->fetch_array(); 
    $liveData = [$row["id"],$row["time"]]; 

    echo json_encode($liveData); 
} 

events.js

jQuery(document).ready(function($){ 

    /** 
    * Live-Reload Live-Bets 
    */ 

    refreshTable(); 
}); 

functions.js

function refreshTable(){ 
    $.ajax({ 
     type: 'post', 
     url: "../php/functions.php", 
     dataType:"json", 
     data: {execute: "getBets"}, 
     success:function(data) { 

      if(document.getElementById('table-bet-id').innerHTML != data[0]){ 
       $('#betFeed')[0].innerHTML = "<tr><td id = 'table-bet-id'>"+ data[0] +"</td><td>"+ data[1] +"</td><td>"+ data[2] +"</td><td>"+ data[3] +"</td></tr>" + $('#betFeed')[0].innerHTML; 
      } 
     } 
    }); 
    setTimeout(refreshTable, 3000); 
} 

enter image description here

+0

ist die Datei, die dieser Code in 'functions.php' ist? – nogad

+0

* "Ich habe eine Tabelle auf meiner Website, die eine neue Zeile hinzufügen soll, sobald es einen neuen Eintrag in meiner DB gibt." * - Ich verstehe diese Zeile und die ganze Frage wirklich nicht. –

+1

* "Es hat ziemlich gut geklappt, aber jetzt habe ich festgestellt, dass meine Website nie fertig geladen wird." - setTimeout (refreshTable, 3000); "das ist es, du programmierst es. --- *" es lädt die functions.php nach was ich habe den ganzen Prozess gespeichert "* - wie in was, eine gespeicherte Prozedur? –

Antwort

0

Wenn Ihr Problem ist, dass Sie das Skript nicht mögen, um alle "functions.php" -Datei zu laden, warum speichern Sie nicht einfach Ihre "getBets" -Funktion in einer anderen Datei? weil Sie nicht nur einen Teil einer PHP-Datei aufrufen können (anders als Xml zum Beispiel)

+0

In welcher anderen Datei habe ich schon die getBets Funktion in meiner functions.php, dort arbeite ich mit allen meinen php-Funktionen :) –

Verwandte Themen