Counter button – afficher la valeur du compter – incrementer – et update DB
-
Bonjour,
J’utilise un pluggin de code snippet php/javascript pour afficher un bouton , dans un container Elementor.
Probleme : l’environnement d’execution joue en premier lieu le code php avant le code javascript. tout se passe comme si le code javascript n’existait pas. autrement dit, le code php est joué directement à l’ouverture de la page. Le code php est chargé de l’insertion de la nouvelle valeur en base. De sorte que, la valeur est insérée en base avant meme que l’utilisateur ai clické sur le bouton .
Question 1 : Y a t il un plugin qui permet d’avoir un bouton de comptage ?
Question 2 : Cette fonctionnalité est elle réalisable via un code snippet ?
<?php $current_counter_value = get_counter_value_from_db(); ?> <button onclick="counter_increment_and_update_db()"> OUI +1 </button> <span id="counting"></span> <script> html_display_curent_counter_value(<?php echo $current_counter_value; ?>) function counter_increment_and_update_db() { <?php $incremented_value = increment_by_one($current_counter_value); ?> html_display_curent_counter_value(<?php echo $incremented_value; ?>) <?php update_db_counter_value($incremented_value); ?> } // ----------------- javascript UTIL FUNCTIONS function html_display_curent_counter_value(text_to_be_displayed){ document.getElementById("counting").innerText = text_to_be_displayed; } </script> <?php // ------------------------------------------------------------- //----------------- php UTIL FUNCTIONS //----------------------------------------------------------- function increment_by_one($value){ $out=$value+1; return $out; } function get_counter_value_from_db(){ global $wpdb; $wpdb->show_errors(); $query = "SELECT * FROM click_counter WHERE counter_name = 'sondage1'"; $resultArray = $wpdb->get_results($query); $current_counter_value = get_last_value($resultArray); return $current_counter_value; } function get_last_value($array_of_values){ $out=0; foreach ($array_of_values as $page) { $out = $page->counter_value; } return $out; } function update_db_counter_value($new_value) { global $wpdb; $wpdb->show_errors(); $wpdb->update( 'click_counter', array( 'counter_value' => $new_value ), array( 'counter_name' => 'sondage1' ), array( '%d' ) ); } ?>
- Le sujet ‘Counter button – afficher la valeur du compter – incrementer – et update DB’ est fermé aux nouvelles réponses.