Bei onClick Wert in MySQL Datenbank schreiben

as333

Erfahrenes Mitglied
Hi,

ich bin gerade dabei JavaScript zu lernen und bin auf folgendes Problem gestoßen.
Ich habe eine HTML Seite mit ein paar PHP Befehlen und würde jetzt durch einen Button mit Hilfe von onClick einen Wert in eine MySQL Datenbank schreiben.
Sprich wenn ich auf den Button klicke soll zum Beispiel die aktuelle Uhrzeit in die Datenbank geschrieben werden.

Kann mir jemand helfen wie ich das machen kann?
 
Hi,

dazu brauchst Du auf dem Server erstmal ein PHP-Script, das diesen Wert auch entgegennimmt und in die DB schreibt.

Wenn es dann nur darum geht, dieses Script "anzustossen", reicht clientseitig ein kleiner Trick. Definiere einfach ein Image-Objekt und weise der "src"-Eigenschaft die entsprechende URL zu. Um die Cache-Problematik zu umgehen, hängst Du noch einen Timestamp an:

HTML:
<script type="text/javascript">
dummy_bild = new Image();

function store_value(value) {
   dummy_bild.src = "http://example.com/store_value.php?value=" + encodeURIComponent(value) + "&" + new Date().getTime();
}
</script>
...
<input type="button" onclick="store_value('Äpfel');" />

LG
 
Hi kuddeldaddeldu,

achso ich habe gedacht ich könnte es einfach mit mysql_query("UPDATE ...... ") machen.
Das heißt ich erstelle eine php Datei mit dem Inhalt wo eine Verbindung zur Datenbank hergestellt wird und dann dementsprechend mit mysql_query("UPDATE.......") eintragen.
Oder habe ich das falsch verstanden?
 
Hi,

achso ich habe gedacht ich könnte es einfach mit mysql_query("UPDATE ...... ") machen.

jo, das wäre dann Teil des besagten PHP-Scriptes, das den Wert entgegennimmt. Da aber PHP auf dem Server läuft und Dein Button bei Dir im Browser auf dem Client geklickt wird, musst Du schon irgendwie einen Request auf das PHP-Script absetzen.

LG
 
Super hat geklappt.
Habe in der store_value.php Datei die Datenbankverbindung und den Wert der in die Datenbank eingetragen werden soll reingeschrieben.

Ich weiß es ist eine dumme Frage, aber kannst du mir noch sagen für was der Platzhalter "Äpfel" steht?
Wird da nicht die Variable übergeben?

Und mein Button ist ja jetzt noch komplett leer.
Wie kann ich dort etwas draufschreiben so wie zum Beispiel aktuelle Uhrzeit oder so?
 
Hi,

Ich weiß es ist eine dumme Frage, aber kannst du mir noch sagen für was der Platzhalter "Äpfel" steht?
Wird da nicht die Variable übergeben?

:D Das ist einfach ein String, der übergeben wird. Ein Beispielwert. Ein Platzhalter bzw. eine Variable würde nicht in Anführungszeichen stehen. Das kannst Du ersetzen durch das, was Du in der Datenbank speichern willst, bzw. eine Variable, die den Wert enthält.

Und mein Button ist ja jetzt noch komplett leer.
Wie kann ich dort etwas draufschreiben so wie zum Beispiel aktuelle Uhrzeit oder so?

Immer wieder mal bei SelfHTML nachschauen. ;)

LG
 
Hey,


auch wenn das thema schon was älter ist habe ich da ein ähnliches Problem, habe den code von hier weitestgehen genommen und scheinbar etwas nicht beachtet.
Ich muss dazu sagen das ich mich in Ajax noch einlese und ganz frisch dabei bin.

Mein JS Code:

PHP:
<script type="text/javascript">
readup = new Image();

function readst(value) {
   readup.src = "readuep.php?value=" + encodeURIComponent(value);
}
</script>

Mein link zum aufruf des scriptes:

PHP:
onclick="'readst('<?php echo "$row->id"; ?>')">

und das PHP script:

PHP:
$readst = $_GET["value"];


mysql_query("UPDATE mails SET status1 = '1'
WHERE user2 = '".$_SESSION['user']."' AND id = $readst");

wo liegt mein Fehler?

lg
 
Zuletzt bearbeitet:
Zurück