Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Mysterium im Zusammenspiel von Javascript, PHP und MySQL“

Hansi2016

Nicht mehr ganz neu hier

Hallo,

ich möchte folgende Funktionalität realisieren:
in der MySQL-DB liegt ein Wert "Zähler". Beim Aufruf der Website wird der aktuelle Wert angezeigt, über die Button "addieren" und "subtrahieren" wird der Wert erhöht bzw. erniedrigt, in der Datenbank aktualisiert und angezeigt.
Das Problem: der Code in den Funktionen "addieren" und "subtrahieren" wird anscheinend auch durch den Reload der Seite ausgeführt. Und wenn der (jetzt auskommentierte) Befehl in Zeile 47 aktiv wird, blockieren sich offenbar die Zeilen 31 und 47, sowohl bei Button-Click als auch bei Seiten-Reload/Aktualisierung.
Ignoriert der PHP-Code, daß er eigentlich nur in der Funktion, ausgelöst durch Button-Click, ausgeführt werden soll? Oder begehe ich einen Denkfehler (welchen)?

Danke schonmal für Eure hilfreichen Hinweise!

Hansi

Code:
<?php 
$con = mysqli_connect("127.0.0.1","root",NULL,"pausenplaner") or die("Some error occurred during connection " . mysqli_error($con)); 
mysqli_set_charset($con, 'utf8');
$strSQL = "SELECT zaehler FROM test";
$query = mysqli_query($con, $strSQL);
$content ="";
$content = $content.'<label for="zaehler">Zählerstand:</label>';
while($result = mysqli_fetch_array($query)){
$content = $content.'<label id="zaehler">'.$result["zaehler"].'</label><br>';
}
$content = $content.'</form>';
$content = $content.'<button id="addieren">addieren</button>';
$content = $content.'<button id="addieren">subtrahieren</button>';
mysqli_close($con);
echo $content;
?>

<script>
document.getElementById("addieren").onclick = addieren;
document.getElementById("subtrahieren").onclick = subtrahieren;

function addieren(){
    <?php
$con = mysqli_connect("127.0.0.1","root",NULL,"pausenplaner") or die("Some error occurred during connection " . mysqli_error($con)); 
mysqli_set_charset($con, 'utf8');
$strSQL = "SELECT zaehler FROM test";
$query = mysqli_query($con, $strSQL);
while($result = mysqli_fetch_array($query)){
$zaehler=$result["zaehler"];
}
    $zaehler=$zaehler+1;
    mysqli_query($con, 'UPDATE test SET zaehler =' . $zaehler);
    mysqli_close($con);
    ?>
    location.reload();
}

function subtrahieren(){
    <?php
$con = mysqli_connect("127.0.0.1","root",NULL,"pausenplaner") or die("Some error occurred during connection " . mysqli_error($con)); 
mysqli_set_charset($con, 'utf8');
$strSQL = "SELECT zaehler FROM test";
$query = mysqli_query($con, $strSQL);
while($result = mysqli_fetch_array($query)){
$zaehler=$result["zaehler"];
}
    //$zaehler=$zaehler-1;
    mysqli_query($con, 'UPDATE test SET zaehler =' . $zaehler);
    mysqli_close($con);
    ?>
    location.reload();
}
</script>
 

lachender_engel

Aktives Mitglied

Wenn mich nicht alles täuscht kann das so nicht funktionieren.
Du rufst innerhalb eines Java-Skriptes ein PHP Code auf. Java wird auf dem Client ausgeführt, PHP auf dem Server.
Das heißt, wenn Du die Seite aufrufst wird der PHP Code ausgeführt bevorer den Client erreicht. Also führt PHP die Berechnungen durch, bevor die Daten zum Browser gelangen (und, bevor Du Button anklicken kannst).
Wenn Du dann die Seite siehst (auf Deinem Bildschirm) und auf den Button klickst, passiert nichts. Warum? Weil der PHP Code schon längst "Vergangenheit" ist und nicht mehr ausgeführt wird.

Um das, was Du machen willst, zu realisieren musst Du mit AJAXarbeiten. Darüber rufst Du - in Echtzeit - per Java-Skript ein PHP-Skript auf dem Server auf das über JSON Parameter erhält, eine Sache ausführt (wie hier die Datenbank zu manipulieren) und liefert über JSON entsprechende Werte zurück.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben