|
You last visited: Today at 13:51
Advertisement
Datenbank Resultate pro Sekunde aktualisieren
Discussion on Datenbank Resultate pro Sekunde aktualisieren within the Web Development forum part of the Coders Den category.
09/03/2016, 20:45
|
#1
|
elite*gold: 0
Join Date: Jul 2015
Posts: 94
Received Thanks: 11
|
Datenbank Resultate pro Sekunde aktualisieren
Hallo erstmal,
also meine Frage ist. Ich rufe Daten aus einer Datenbank per PHP ab, und speicher diese in eine Variable. Jetzt ist meine Frage wie ich diese Variable immer aktualisiert ausgeben kann also sie auch bei einer veränderung in der Datenbank aktuell ist.
PHP Code:
$bets_in_pot = getActivePotBets($current_pot_id, $conn);
function getActivePotBets($current_pot_id, $conn) { $statement = $conn->prepare("SELECT id FROM bets WHERE potid = ?"); $statement->execute(array($current_pot_id)); $bets = $statement->rowCount(); return $bets; }
HTML Code:
<p>Bets in pot: <?php echo $bets_in_pot; ?></p>
Würde mich über jede Antwort freuen.
|
|
|
09/03/2016, 22:16
|
#2
|
elite*gold: 4
Join Date: Feb 2008
Posts: 3,847
Received Thanks: 1,267
|
Die eine Möglichkeit wäre zumindest die besagte PHP-Datei mittels AJAX aufzurufen und Dir das Ergebnis ausgeben zu lassen.
|
|
|
09/03/2016, 23:53
|
#3
|
elite*gold: 0
Join Date: Oct 2013
Posts: 17
Received Thanks: 2
|
Wenn ich das recht verstehe soll dein Variable immer den gleichen Wert wie in der Datenbank haben.
Da bei deiner SQL Abfrage jederzeit die Datenbank abgefragt wird heiß das, dass diese Variable in dem der Wert gespeichert wird auch immer aktuell ist.
Wenn du aber willst, dass die Seite nicht neu geladen werden muss sondern alle X sekunden aktualisiert werden soll sollte das, wie Else bereits erwähnte, mi jQuery Ajax einfach umzusetzen sein.
|
|
|
09/04/2016, 00:25
|
#4
|
elite*gold: 0
Join Date: Jul 2015
Posts: 94
Received Thanks: 11
|
Also hat jemand einen Ansatz komme damit nicht so klar will jetzt auch nicht direkt dafür erstmal javascript lernen. Auch wenn ich das in der Zukunft vorhabe.
|
|
|
09/04/2016, 00:44
|
#5
|
elite*gold: 11
Join Date: Jun 2011
Posts: 1,847
Received Thanks: 141
|
Was aktualisiert? Du kriegst das was in der Datenbank steht. Nichts anderes. Die Seite lädt zu einem Zeitpunkt und der Wert der genau dann in der Datenbank steht wird genutzt. Wenn du die Seite offen lässt und nichts machst ist es unmöglich mit reinem PHP den Wert zu aktualisieren da der Server keinen Request bekommt die Seite neu zu laden und PHP eine Serversprache ist.
Du willst bestimmt dass sich der Wert auf der Seite dauernd aktualisier?! Dafür brauchst du Javascript um die einzelnen Werte (DOM) zu updaten.
Andererseits kannst du auch jede Sekunde die Seite neu laden. (Tu das auf gar keinen Fall! Das ist unsauber, kacke und einfach bääh.)
Greetz
|
|
|
09/04/2016, 01:00
|
#6
|
elite*gold: 0
Join Date: Jul 2015
Posts: 94
Received Thanks: 11
|
Jo meinte ich ja auch aber hat jemand vielleicht einen Ansatz mit Javascript?
script
|
|
|
09/04/2016, 01:08
|
#7
|
elite*gold: 11
Join Date: Jun 2011
Posts: 1,847
Received Thanks: 141
|
Quote:
Originally Posted by camcam130
Jo meinte ich ja auch aber hat jemand vielleicht einen Ansatz mit Javascript?
script
|
Ja wurde bereits zwei mal erwähnt. Normaler AJAX Call.
|
|
|
09/04/2016, 01:12
|
#8
|
elite*gold: 0
Join Date: Jul 2015
Posts: 94
Received Thanks: 11
|
Ok hatte es mal so probiert funkt aber net:
PHP Code:
$current_pot_id = getActivePot($conn); $bets_in_pot = getActivePotBets($current_pot_id, $conn); $current_pot_value = getActivePotValue($current_pot_id, $conn); function getActivePot($conn) { $statement = $conn->prepare("SELECT id FROM pots WHERE status = ? OR status = ?"); $statement->execute(array('currently','drawing')); $id = $statement->fetch(); $pot_id = $id[0]; return $pot_id; } function getActivePotBets($current_pot_id, $conn) { $statement = $conn->prepare("SELECT id FROM bets WHERE potid = ?"); $statement->execute(array($current_pot_id)); $bets = $statement->rowCount(); return $bets; } function getActivePotValue($current_pot_id, $conn) { $statement = $conn->prepare("SELECT value FROM pots WHERE id = ?"); $statement->execute(array($current_pot_id)); $value = $statement->fetch(); return $value[0]; }
HTML Code:
<?php
include 'function.inc.php';
?>
<div class="jackpot_value_box">
<p>Pot value: <span id="current_pot_value"><?php echo $current_pot_value; ?></span>$</p>
</div>
Code:
$(document).ready(function(){
setInterval(function(){
$('#current_pot_value').load('functions.inc.php')
}, 1000);
});
Funkt aber net.
|
|
|
09/04/2016, 01:16
|
#9
|
elite*gold: 11
Join Date: Jun 2011
Posts: 1,847
Received Thanks: 141
|
Das ist auch kein AJAX...
api.jquery.com/jquery.ajax/
|
|
|
09/04/2016, 01:46
|
#10
|
elite*gold: 0
Join Date: Jul 2015
Posts: 94
Received Thanks: 11
|
Könntest du ein Beispiel machen raffe da irgendwie gar nichts gerade.
|
|
|
09/04/2016, 02:49
|
#11
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
|
Was genau ist denn in der functions.inc.php? Dort musst du die Zahl ausgeben, die angezeigt werden soll.
Angenommen, du rufst die Datei im Browser auf. Was wird dort angezeigt? Genau das platziert nämlich dein jQuery Aufruf in #current_pot_value rein.
|
|
|
09/04/2016, 02:55
|
#12
|
elite*gold: 0
Join Date: Jul 2015
Posts: 94
Received Thanks: 11
|
Also ist es so das pro Datei nur eine Ausgabe geben darf?
|
|
|
09/04/2016, 05:29
|
#13
|
elite*gold: 11
Join Date: Jun 2011
Posts: 1,847
Received Thanks: 141
|
Meld dich in Skype bei mir. Ich erkläre es dir heut Nachmittag kurz. Führt sonst nur zu Missverständnissen.
Nur als Tipp: Um erfolgreicher Programmierer zu werden solltest du versuchen solche Probleme selbst zu lösen (nur mit Hilfe von Google)
|
|
|
09/09/2016, 17:59
|
#14
|
elite*gold: 0
Join Date: Sep 2008
Posts: 9,483
Received Thanks: 3,111
|
Hier mal ein Ansatz, wie du das Wohl am besten verfolgst.
Es gibt folgende Dateien:
Code:
index.php --- Seite auf der du dich befindest und auf der du die Anzeige aktualisieren willst
api.php --- deine API, die dir die aktuellen Daten aus der Datenbank liefert und als JSON für viele Daten und vllt als einfacher String für nur einen Wert
-main.js -- Deine Javascript Datei. Auf deiner Seite eingebunden (ich setze JQuery hier mal vorraus, dieses muss vor deiner JS Datei eingebunden werden
in der index.php liegt deine Seite.. Ein Element davon ist eventuell:
PHP Code:
<p id="betPot">Bets in pot: <?php echo $bets_in_pot; ?></p>
In deiner main.js (hab den Javascript code jetzt nicht evaluiert, dass ganze dient hier lediglich dazu dir eine Idee zu geben, implementieren musst du selbst (du willst ja auch was lernen)):
PHP Code:
//onload $(bindTimer);
function bindTimer(){ setInterval(updateUI , 1000); //Alle 1000ms wird die Funktion updateUI ausgeführt }
function updateUI(){ $.ajax({url: "api.php", success: function(result){ $("#betPot").html(result); }}); }
Die api.php gibt hierbei dann folgendes beim Aufruf aus:
|
|
|
09/10/2016, 17:01
|
#15
|
elite*gold: 339
Join Date: Dec 2012
Posts: 60
Received Thanks: 21
|
Versuchs mal damit
Idiorm PHP
PHP Code:
$deineDaten= ORM::for_table('deinDatenTable')>find_one(ID_DEINES_DATENBANK_EINTRAGS); echo(json_encode($deineDaten));
Javascript
PHP Code:
setInterval(function() { $.ajax('LinkZuDeinerPHPDatei', { method: 'POST', dataType: 'json', success: function (data) { console.log('<p>Bets in pot:' + data + '</p>') } }); },1000);
|
|
|
Similar Threads
|
DayzCoord2Map DayZ Datenbank zu GPS GPS zu Datenbank Tool
07/16/2013 - DayZ - 2 Replies
Hallo,
Hier zeig ich euch ein von mir programmiertes Tool mit dem könnt ihr:
Die Daten aus der Datenbank aus DayZ-Private Servern in GPS Koordinaten umwandeln
Sie auf Dayzdb.com anzeigen
Die GPS Koordinaten in DatenBank-Informationen umwandeln
Sie auf Dayzdb.com anzeigen
|
DayzCoord2Map DayZ Datenbank zu GPS GPS zu Datenbank Tool
02/05/2013 - DayZ - 14 Replies
Hallo,
Hier zeig ich euch ein von mir programmiertes Tool mit dem könnt ihr:
Die Daten aus der Datenbank aus DayZ-Private Servern in GPS Koordinaten umwandeln
Sie auf Dayzdb.com anzeigen
Die GPS Koordinaten in DatenBank-Informationen umwandeln
Sie auf Dayzdb.com anzeigen
|
All times are GMT +2. The time now is 13:51.
|
|