Javascript onClick (opslaan in SQL?)

Status
Niet open voor verdere reacties.

migz

Gebruiker
Lid geworden
19 jan 2012
Berichten
10
Hallo,

Ik heb een site met een knop . als je op die knop klikt vergroot een cijfer met 1.
nu, per keer dat er geklikt word zou dit cijfer moeten worden opgeslaan in een database? dat als ik refresh dat hetzelfde nummer er terug staat...

Iemand een idee? dankje!
 
Met de klik roep je via XHR een PHP file aan die dan SQL magie doet. Bijvoorbeeld:

Code:
# dit is de tabel (genaamd 'getallen') Heeft twee colommen:

rij   waarde


# er staat 1 rij in:

iets   0
[js]knopje.onclick = function()
{
var xhr = new XMLHttpRequest();

xhr.open('get', 'up.php', false);
xhr.send();
}[/js]
PHP:
<?php
   // up.php

   maak_een_database_connectie();   // neem ff mysql aan


   mysql_query('UPDATE getallen SET waarde = waarde + 1 WHERE rij = "iets"');

?>


Als je dan op de pagina een weergave wilt hebben, haal je 'm met PHP gewoon op:

HTML:
<span id='aantal'>
   <?php

      echo end(mysql_fetch_row(mysql_query('SELECT waarde FROM getallen WHERE rij = "iets"')));

   ?>
</span>

Als je ook wilt dat tijdens de knop-druk het getal omhoog gaat kan je dat gewoon via Javascript doen. Je neemt dan gewoon aan dat alles goed is gegaan met de database-magie:
[js]// ook in de .onclick:

var huidig = document.getElementById('aantal');

huidig.innerHTML = (parseInt(huidig.innerHTML, 10) + 1).toString(); // whoooooo[/js]
 
Laatst bewerkt:
Allright! ga ik eens proberen :) is hij eigenlijk niet gemakkelijker om dat getal op te slaan in een bestand? een tekst bestand ? sinds voor alleen dit nummer een hele database toch niet nodig is ? of is dit niet mogelijk?. bedankt !
 
Oh, ja, dat kan natuurlijk ook. Het 'up.php' bestand moet je dan vervangen door een scriptje dat een bestand opent, de waarde leest, en het +1 terug schrijft. 't Ophalen (voor in de pagina) is natuurlijk ook anders dan, het kan makkelijk via een file_get_contents() oid.

Maar het principe blijft hetzelfde!


:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan