Opslaan hoevaak button aangeklikt is in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Furio Scripting

Furio Scripting

12/03/2015 13:55:00
Quote Anchor link
Beste forumleden,

Ik heb een pagina met zo een 20 acties. Iedere actie heeft een unieke id en een button waarop staat BEKIJKEN.
Als men op deze button klikt opent een popup met meer informatie, dit gebeurd op dezelfde pagina dus.

Nu wil ik bijhouden hoevaak men op deze NU BEKIJKEN button klikt en dit opslaan in de database. Dus iemand klikt erop moet die een database call maken en de huidige value met 1 verhogen.

Via google kwam ik er al achter dat ajax hier voor nodig is maar ik snap daar weinig van.

Ik heb al een deel php code maar dit mist dus de unieke id.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php $q = "UPDATE bekijkenButton SET bekijkenButton=bekijkenButton+1 WHERE id = ??????";
  $database->query($q); ?>
 
PHP hulp

PHP hulp

24/11/2024 05:16:32
 
Wouter Van Marrum

Wouter Van Marrum

12/03/2015 17:15:23
Quote Anchor link
hallo Furio,

Ik gebruik ajax om taken op te slaan maar je zou iets dergelijks kunnen doen,

Hier js :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FURIO = {};
FURIO.viewInformation = function(button) {

var id = $(button).attr('rel');// Pak het id.

      $.post('LINK NAAR SCRIPT DIE TELLING BIJHOUDT', {'id': id}, function(response) {
         console.log(repsonse);
      })
      .done(function() {
      console.log("done");
      })
      .fail(function() {
         alert( "error" );
      });

      // Andere code waarmee je informatie laat zien.
  
};

// PHP

<?php
   $id
= $_POST;
   print_r($id); // dit kun je in console zien.

   // JOUW PHP CODE

?>


// HTML
<button class="FURIO_SEND" rel="ID NUMMER">

// In je pagina zelf :
<script>
$("FURIO_SEND").click( function() {
    FURIO.viewInformation(this);
}
</script>


Toevoeging op 12/03/2015 17:16:21:

Ps zonder de vraagtekens. ( heb een speciale editor om de reactie textarea hier te verandere ) 
Gewijzigd op 12/03/2015 17:22:04 door Wouter Van Marrum
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/03/2015 18:15:30
Quote Anchor link
Hier heb je inderdaad AJAX voor nodig. Ik zou je willen aanraden om je te verdiepen in JQuery's .ajax() functie beginnend met een stom en simpel scriptje.

index.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>AJAX met JSON</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    </head>
    <body>
        <button type="button" id="knop">Ajax test</button>
        <div id="resultaat"></div>
        <script>
            $( document ).ready(function() {
                $('#knop').click(function(e) {
                    $.ajax({
                        type: "GET",
                          url: "ajaxtest.php",
                          data: { id: 3 },
                        dataType: "html"
                    })
                    .done(function( data ) {
                        alert(data);
                    });
                });
            });
        </script>
    </body>
</html>


ajaxtest.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

// enige verplichte GET variabele is id.
if(isset($_GET['id']) === FALSE)
{

    echo 'Geen GET variabele met id gekregen.';
    exit;
}


echo 'U vroeg id ' . $_GET['id'];

?>
 
Furio Scripting

Furio Scripting

13/03/2015 16:52:22
Quote Anchor link
Bedankt heren voor de duidelijke reacties! Het is me inmiddels gelukt via beide codes om bij te houden hoe vaak een button werd aangeklikt.

Goed weekend!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2015 17:38:50
Quote Anchor link
Fijn weekend.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.