Beste SD'ers,
Ik ben bezig met een of ander scriptje waarin zich de volgende situatie voordoet.
Persoon 1 [checkbox (ik ken hem / ik ken hem niet)]
Persoon 2 [checkbox (ik ken hem / ik ken hem niet)]
Als er dus op de checkbox geklikt wordt, wil dit zeggen dat je de persoon kent.
Wanneer dat het geval is, zou ik een update willen doen van de database zonder dat de pagina moet herladen.
Er zijn verschillende dingen te vinden over ajax e.d., maar niets zo uitgebreid dat je met verschillende checkboxes zit.
Kan iemand mij hierbij helpen?
Alvast bedankt!
Jeroen Faes
- Ajax: database update zonder herladen
-
30-10-2012, 21:50 #1
- Berichten
- 202
- Lid sinds
- 14 Jaar
Ajax: database update zonder herladen
-
-
30-10-2012, 22:01 #2
- Berichten
- 1.025
- Lid sinds
- 14 Jaar
Re: Ajax: database update zonder herladen
Dit is niet via ajax.
Maar via javascript kun je een div laten refreshen.
Dit gebruik ik bij een smswall, ziet zo dom uit om elke sec een pagina refresh te doen.
-
30-10-2012, 22:07 #3
- Berichten
- 202
- Lid sinds
- 14 Jaar
Re: Ajax: database update zonder herladen
Ja precies, zoals er bij mij dan een lange lijst personen zou staan, is het niet de bedoeling de pagina te herladen voor elke persoon. Kan je misschien een voorbeeld posten over hoe dit dan juist in z'n werk gaat?
Jeroen
-
30-10-2012, 23:05 #4
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Ajax: database update zonder herladen
Je moet eens kijken naar jquery. Elke checkbox geef je een class 'jouwcheckbox', daaraan koppel je een 'event' dat bij het klikken een ajax call doet naar een php script dat vervolgens de database update.
Daarnaast geef je elke checkbox een 'id' zoals 'cb_1', 'cb_343' etc. Die nummers genereer je op basis van het user id uit je database op het moment dat je de page maakt.
Nu pin me even niet vast op onderstaande want ik heb het even zo ingeklopt en niet getest.
$('.jouwcheckbox').change(function() {
var tmp1 = $(this).attr('id').split('_'); // Uitvogelen wat het 'id' van de checkbox is, splitten op underscore en in tmp1 stoppen.
var ischecked = $(this + ':checked').length; // lengte = 1 indien checked, 0 indien niet checked
var request = $.ajax({
type: "POST",
url: "/ajax/doeietsmetdb.php", // jouw php script dat de vars 'user_id' en 'cb_checked' ontvangt
data: {
user_id: tmp1[1] , // het 2de deel van de split van 'cb_1234', dus '1234'
cb_checked: ischecked // 0 of 1
}
});
});
In php krijg je dan een scriptje 'doeietsmetdb.php' met iets zoals (in het kort):
$sql = "update users set user_checked = '".(int)$_POST['cb_checked']."' where user_id = '".(int)$_POST['user_id']."';";
-
30-10-2012, 23:46 #5
- Berichten
- 202
- Lid sinds
- 14 Jaar
Re: Ajax: database update zonder herladen
Hoi John,
Klaar en duidelijk. Op die manier had ik het nog niet bekeken en het ziet er inderdaad wel goed uit. Ik zal het morgen even uittesten. In ieder geval bedankt voor je antwoord!
Jeroen
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic