J'essaie de créer un bouton d'amour, le bouton est ici www.dreamsynk.com. J'ai pris le code de différents endroits et les ai collés ensemble, mais il y a des choses qui sont fausses je ne suis pas sûr que ce que je ne sais pas PHP ou ajax et ma connaissance de jquery est minime.Le bouton d'amour ne fonctionne pas
J'ai une base de données et une table appelée "loveit" avec un champ appelé "valeur".
Voici mon code à ce jour:
HTML:
<div class="love-it">
<script type="text/javascript">
jQuery(function() {
jQuery('#like-it').click(function() {
jQuery('#like-it').load('wp-content/themes/dreamsynk/value.php');
});
});
</script>
<a href="#" class="btn btn-counter" id="like-it" data-count="0"><span>❤</span></a>
</div>
script.js
jQuery(document).ready(function() {
(function($) {
$('.btn-counter').on('click', function(event, count) {
event.preventDefault();
var $this = $(this),
count = $this.attr('data-count'),
active = $this.hasClass('active'),
multiple = $this.hasClass('multiple-count');
// First method, allows to add custom function
// Use when you want to do an ajax request
if (multiple) {
$this.attr('data-count', ++count);
$("#like-it").unbind().bind("click", function() {
$.ajax({
type: 'POST',
url: 'wp-content/themes/dreamsynk/loveit.php',
data: 'action=add',
success: function(result) {
$("#like-it").html(result);
}
});
return false;
});
} else {
$this.attr('data-count', active ? --count : ++count).toggleClass('active');
$("#like-it").unbind().bind("click", function() {
$.ajax({
type: 'POST',
url: 'wp-content/themes/dreamsynk/loveit.php',
data: 'action=add',
success: function(result) {
$("#like-it").html(result);
}
});
return false;
});
}
})
})(jQuery);
loveit.php
<?php mysql_connect("host", "database", "pass") or die ("Error.");
mysql_select_db("database") or die ("error");
$increase = "UPDATE loveit SET value=value+1 WHERE id=1;";
$active_rate = mysql_query("SELECT * FROM loveit WHERE id=1;");
$val = 0;
if($rt = mysql_fetch_assoc($active_rate)) {
$val = $rt['value'];
}
if($_POST['action'] == 'add') {
mysql_query($increase);
print $val++;
}
$rat = mysql_query("SELECT * FROM loveit WHERE id=1;");
if($res = mysql_fetch_assoc($rat)) {
print '<a id="likeit'.($res['value']-1).' '; // id="likeit"
}
?>
value.php
<?php mysql_connect("host", "database", "pass") or die ("Error.");
mysql_select_db("database") or die ("error");
$rat = mysql_query("SELECT * FROM loveit WHERE id=1;");
if($res = mysql_fetch_assoc($rat)) {
print ($res['value']-1);
}
?>
Et puis évidemment ma feuille de style.
Qu'ai-je fait de mal ici?
Le bouton doit être limité à un clic comme il est maintenant et si ils le cliquent à nouveau, il ne me plaît pas.
Qu'est-ce qui ne fonctionne pas? "il y a des choses qui ne vont pas" n'est pas une bonne description de votre problème. – verdesmarald
Vous devriez certainement utiliser mysqli ou PDO, car l'extension mysql est obsolète. Recevez-vous des messages d'erreur? Et as-tu essayé d'utiliser Firebug pour voir tes requêtes AJAX en train de tirer? –
Je n'ai pas, je ne peux pas sembler jamais obtenir firebug pour travailler. – user1691337